현재 위치: > 최신 기사 목록> curl_close의 curl_setopt에서 프록시 서버를 설정하는 방법?

curl_close의 curl_setopt에서 프록시 서버를 설정하는 방법?

gitbox 2025-05-26

PHP에서 Curl은 다양한 HTTP 요청을 수행하기위한 강력한 라이브러리입니다. 대부분의 경우 실제 IP 또는 액세스 제한된 리소스를 숨기는 것과 같은 프록시 서버를 통해 요청을 시작해야합니다. 이 기사에서는 Curl_Close를 사용하여 요청 프록시를 구현하여 CURL 세션을 닫을 때 CURL_SETOPT 기능과 함께 프록시 서버를 설정하는 방법에 대해 자세히 설명합니다.

1. CURL 기본 프로세스 검토

컬을 사용하여 요청을 보내는 일반적인 프로세스는 다음과 같습니다.

  1. 세션 초기화 : curl_init ()

  2. 요청 옵션 설정 : curl_setopt ()

  3. 요청 요청 : curl_exec ()

  4. 세션 닫기 : curl_close ()

이 기사의 초점은 2 단계에서 프록시 서버를 설정하는 방법에 관한 것입니다.

2. curl_setopt를 사용하여 프록시 서버를 설정하십시오

Curl은 프록시를 설정하는 특별한 옵션을 제공합니다.

  • Curlopt_proxy : 프록시 서버 주소 (IP 또는 도메인 이름 및 포트)

  • Curlopt_proxyport : 프록시 서버 포트 (선택 사항)

  • curlopt_proxyuserpwd : 프록시 서버의 사용자 이름과 비밀번호, 형식은 사용자 이름 : 비밀번호 (선택 사항)입니다.

  • Curlopt_proxyType : 프록시 유형, 기본값은 HTTP 프록시, 일반적인 유형은 SOCKS5 등을 포함합니다.

샘플 코드 :

 <?php
// 초기화 cURL 세션
$ch = curl_init();

// 요청을 설정하십시오 URL,다음은 샘플 인터페이스입니다,도메인 이름을 대체하십시오 gitbox.net
curl_setopt($ch, CURLOPT_URL, "https://api.gitbox.net/example/data");

// 직접 출력 대신 응답을 반환합니다
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 프록시 서버 주소와 포트를 설정하십시오
curl_setopt($ch, CURLOPT_PROXY, "proxy.gitbox.net");   // 프록시 서버 주소
curl_setopt($ch, CURLOPT_PROXYPORT, 8080);             // 프록시 포트

// 에이전트가 인증이 필요한 경우,사용자 이름과 비밀번호를 설정합니다
// curl_setopt($ch, CURLOPT_PROXYUSERPWD, "user:password");

// 필요한 경우 SOCKS5 연기,设置연기类型
// curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);

// 요청을 실행하십시오
$response = curl_exec($ch);

// 요청이 성공했는지 확인하십시오
if(curl_errno($ch)){
    echo 'Curl error: ' . curl_error($ch);
} else {
    echo $response;
}

// 폐쇄 cURL 세션
curl_close($ch);

3. 에이전트 관련 옵션에 대한 자세한 설명

옵션 설명
Curlopt_proxy 프록시 서버 주소, 지원 IP 및 도메인 이름 설정
Curlopt_proxyport 프록시 서버 포트를 설정하고 기본값은 8080입니다
curlopt_proxyuserpwd 프록시 인증을 위해 사용자 이름과 비밀번호를 설정하면 형식은 사용자입니다 : Pass
curlopt_proxytype HTTP (기본값), Socks4, Socks5 등과 같은 프록시 유형을 설정하십시오.
curlopt_httpproxytunnel HTTP 프록시 터널 활성화 여부, 기본값으로 거짓

예를 들어, 프록시 서버에 사용자 이름 및 비밀번호 인증이 필요하고 Socks5 프록시 인 경우 다음과 같이 쓸 수 있습니다.

 curl_setopt($ch, CURLOPT_PROXY, "proxy.gitbox.net");
curl_setopt($ch, CURLOPT_PROXYPORT, 1080);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "user:password");
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);

4. 완전한 예제 요약

 <?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.gitbox.net/example/data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROXY, "proxy.gitbox.net");
curl_setopt($ch, CURLOPT_PROXYPORT, 8080);

$response = curl_exec($ch);

if(curl_errno($ch)){
    echo 'Curl error: ' . curl_error($ch);
} else {
    echo $response;
}

curl_close($ch);

5. 요약

  • Curlopt_proxy 시리즈의 Curl_SetOpt 옵션을 사용하여 프록시 서버를 쉽게 설정하십시오.

  • 프록시 주소는 도메인 이름 또는 IP를 표시해야하며 포트는 별도로 설정할 수 있습니다.

  • 인증이 필요한 경우 curlopt_proxyuserpwd를 통해 사용자 이름과 비밀번호를 제공하십시오.

  • 프록시 유형은 요구 사항에 따라 설정됩니다. HTTP는 기본 유형이며 SOODS5 프록시를 지정할 때 구체적으로 지정해야합니다.

  • 사용 후 Curl_Close 에 전화하여 리소스를 해제하십시오.

이러한 방식으로 PHP에서 CURL을 유연하게 사용하여 프록시 서버와 협력하여 다양한 네트워크 환경 요구를 충족시키기위한 HTTP 요청을 시작할 수 있습니다.