Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用代理,使用curl,在本地主机上工作,但不在服务器上工作_Php_Curl_Proxy_Vps - Fatal编程技术网

Php 使用代理,使用curl,在本地主机上工作,但不在服务器上工作

Php 使用代理,使用curl,在本地主机上工作,但不在服务器上工作,php,curl,proxy,vps,Php,Curl,Proxy,Vps,我使用squid在我的一个VP上设置了一个代理,然后我制作了这个代理脚本,它在wamp和localhost上运行良好,但是当我将它上传到我的服务器上时,它不工作,我似乎不知道为什么 $proxy = "xx.xx.xxx.xx:3128"; $proxy = explode(':', $proxy); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,

我使用squid在我的一个VP上设置了一个代理,然后我制作了这个代理脚本,它在wamp和localhost上运行良好,但是当我将它上传到我的服务器上时,它不工作,我似乎不知道为什么

$proxy = "xx.xx.xxx.xx:3128";
$proxy = explode(':', $proxy);
$ch = curl_init();  
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
curl_setopt($ch, CURLOPT_USERAGENT, 'Googlebot/1.0 (googlebot@googlebot.com http://googlebot.com/)');
curl_setopt($ch, CURLOPT_ENCODING, "UTF-8" ); 
curl_setopt($ch, CURLOPT_REFERER, "http://tamilwin.com/"); 
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec ($ch);
提前谢谢

更新


我在服务器上遇到的错误是
cURL错误号:7cURL错误:无法连接到主机

代理主机可能无效。 尝试telnet xx.xx.xxx.xx 3128(从您的本地PC)
你能成功连接到它吗?

我也有类似的问题,在本地主机上工作很好,但在我的服务器上却不行。我写了一个检测脚本,让你知道它是否有效

<?php

//$url = 'https://www.google.com';
// to check your proxy
$url = 'http://whatismyipaddress.com/';
$proxy = 'x.x.x.x:3128';

// create curl resource
$ch = curl_init();

// set options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true ); // read more about HTTPS http://stackoverflow.com/questions/31162706/how-to-scrape-a-ssl-or-https-url/31164409#31164409
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, file_exists('\cacert.pem'));
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, $proxy);


curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');

// $output contains the output string
$output = curl_exec($ch);

// close curl resource to free up system resources
curl_close($ch); 

//echo $output;

$check = stripos($output,'</html>');
// if there was a match in the stripos (string postion) function echo that the
//proxy got the data and works
if($check > 0)
{
echo $proxy." Works!
";
// or else echo it doesn't work
}else{
echo $proxy." Is Dead!
";
}


?>

它不工作了吗?您是如何得到错误或响应的?我得到的错误是cURL错误号:7cURL错误:无法连接到主机这意味着cURL无法连接到该ipt上的端口这是因为您试图欺骗