>  기사  >  백엔드 개발  >  프록시를 통한 CURL 요청이 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

프록시를 통한 CURL 요청이 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-14 09:49:01279검색

Why Is My CURL Request Through a Proxy Failing, and How Can I Fix It?

프록시를 통해 CURL을 사용하는 방법: 문제 해결 가이드

프록시 서버를 사용하면 컬의 기능이 향상될 수 있지만 잘못 설정하면 문제가 발생할 수 있습니다. 오류. 다음은 귀하의 코드에 대한 철저한 분석과 발생한 문제에 대한 해결책입니다.

문제 1: 변수 누락

초기 코드 조각에서 12번째 줄이 시도되었습니다. $url을 초기화하지 않고 사용하려면:

$url = '$_POST[1]';

해결책:

HTML 형식의 적절한 값으로 $url을 초기화하세요.

문제 2: 빈 화면

업데이트된 코드는 이제 빈 화면만 반환합니다. 이는 $curl_scraped_page가 출력을 에코하지 않기 때문일 가능성이 높습니다.

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

해결책:

$curl_scraped_page로 출력을 활성화하려면 CURLOPT_RETURNTRANSFER를 1로 설정하세요.

최종 작업 코드:

$url = 'http://dynupdate.no-ip.com/ip.php';
$proxy = '66.96.200.39:80';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);

echo $curl_scraped_page;

추가 참고 사항:

  • CURLOPT_PROXYUSERPWD를 사용하여 다음에 대한 사용자 이름과 비밀번호를 제공할 수 있습니다. 프록시 인증.
  • 출력에서 헤더를 원하지 않는 경우 CURLOPT_HEADER를 주석 처리할 수 있습니다.
  • CURLOPT_PROXY를 null로 설정하면 특정 요청에 대해 프록시가 비활성화됩니다.

위 내용은 프록시를 통한 CURL 요청이 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.