2011-02-09 27 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

は、エラー報告がオンになっている 幸運だけでなく、このコードをテストしていますか?別のホストアドレスに接続しようとしましたか(プロキシを使用していないか) –

答えて

3

も それは私のために動作し、このコード

curl_setopt($ch,CURLOPT_HTTPPROXYTUNNEL, 1); 

を削除し、私は

4

あなたは、ステータスコードは、あなたがに接続している場所であるかどうか確認することがあります

$status = curl_getinfo($http, CURLINFO_HTTP_CODE); 

あなたに何が起こっているかのアイデアを与えるかもしれません。