2016-07-21 4 views
2

следующий код:PHP Curl не работает с прокси

$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; 

Чтобы отключить прокси-сервер, просто установите его равным нулю.

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

Каково изменение моего кода? –

+0

Установите прокси как $ proxy = '127.0.0.1:8888'; –

+0

Правда ... но у меня есть другой набор прокси. –

Смежные вопросы