2011-02-09 189 views
1

我正在嘗試使用curl和代理。我有以下代碼:curl錯誤:無法連接到主機

function getPage($proxy, $url, $referer, $agent, $header, $timeout) { 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, $header); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_PROXY, $proxy); 
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
curl_setopt($ch, CURLOPT_REFERER, $referer); 
curl_setopt($ch, CURLOPT_USERAGENT, $agent); 

$result['EXE'] = curl_exec($ch); 
$result['INF'] = curl_getinfo($ch); 
$result['ERR'] = curl_error($ch); 

curl_close($ch); 

return $result; 
} 

$result = getPage(
'75.125.147.82:3128', // use valid proxy 
'http://www.google.com/', 
'http://www.google.com/', 
'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8', 
1, 
5); 

if (empty($result['ERR'])) { 
echo $results['EXE']; 
} else { 
echo $result['ERR']; 
} 

這個腳本的輸出是「無法連接主機」

任何人都知道什麼是錯?

+0

是錯誤報告是否已開啓?你有沒有嘗試連接到不同的主機地址,(不使用代理)? – 2011-02-09 21:18:22

回答

3

以及 刪除此代碼

curl_setopt($ch,CURLOPT_HTTPPROXYTUNNEL, 1); 

它爲我工作,我測試的代碼以及 好運

4

您可能要檢查的狀態代碼是要連接到的是什麼:

$status = curl_getinfo($http, CURLINFO_HTTP_CODE); 

可能給你發生了什麼事的想法。

相關問題