2016-07-21 2 views
2

다음 코드를 가지고 프록시가 작동하지 않습니다PHP 컬이

$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_REFERER, $url); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_PROXY, $proxy); 
curl_setopt($ch, CURLOPT_VERBOSE, 1); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 10); 
curl_setopt($ch, CURLOPT_URL, $url); 

$pageContents = curl_exec($ch); 

echo curl_error($ch); 
curl_close($ch); 

나는 CURLOPT의 모든 조합을 시도, 프록시의 어떻게 든 아무도 제대로 작동하지 않습니다. curl_setopt ($ ch, CURLOPT_PROXY, $ proxy)로 주석 처리하면 잘 동작합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

'$ proxy' 변수는 어떤 형식입니까? 코드 자체는 나에게 좋아 보인다. – iainn

+0

나는 $ proxy를 폭발시키지 않았습니다 ... ip : port –

+0

모든 소리가 정확합니다. 프록시가 포트 80에 있지 않다면 네트워크 문제 일 수 있습니까? – iainn

답변

-1

다음 코드를 사용하십시오.

$url = 'URL'; 
$proxy = '127.0.0.1:8888'; 
//$proxyauth = 'user:password'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_PROXY, $proxy); 
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
$curl_page = curl_exec($ch); 
curl_close($ch); 

echo $curl_page; 

프록시를 비활성화하려면 단순히 null로 설정하십시오.

curl_setopt($ch, CURLOPT_PROXY, null); 
+0

내 코드의 변경 내용은 무엇입니까? –

+0

프록시를 $ proxy = '127.0.0.1:8888'로 설정하십시오. –

+0

사실 ...하지만 다른 프록시 집합이 있습니다. –

관련 문제