php curl_exec返回空 $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$URL); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_PROXY,$PROXY);//$代理是代理服务器的ip地址 curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10); curl_setopt($ch,CURLOPT_超时,10); $httpCode=curl\u getinfo($ch,CURLINFO\u HTTP\u CODE);//每次的结果都是0 回声'curl'.$ch//此行输出资源id#5 $exec=stripslashes(curl_exec($ch)); 回显'exec'.curl\u exec($ch)//这个结果是空白的
我不明白为什么$exec不返回任何内容,我是新来的curl请帮助,提前谢谢当请求失败时将返回php curl_exec返回空 $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$URL); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_PROXY,$PROXY);//$代理是代理服务器的ip地址 curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10); curl_setopt($ch,CURLOPT_超时,10); $httpCode=curl\u getinfo($ch,CURLINFO\u HTTP\u CODE);//每次的结果都是0 回声'curl'.$ch//此行输出资源id#5 $exec=stripslashes(curl_exec($ch)); 回显'exec'.curl\u exec($ch)//这个结果是空白的,php,curl,Php,Curl,我不明白为什么$exec不返回任何内容,我是新来的curl请帮助,提前谢谢当请求失败时将返回false。将您的功能调整为: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_PROXY, $proxy); // $proxy is ip of proxy server curl_seto
false
。将您的功能调整为:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy); // $proxy is ip of proxy server
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$httpCode = curl_getinfo($ch , CURLINFO_HTTP_CODE); // this results 0 every time
echo '<br> curl'.$ch; //this line outputs resource id#5
$exec = stripslashes(curl_exec($ch));
echo '<br> exec'.curl_exec($ch); //this results blank
这样,您将看到curl错误,结果返回0表示无法连接到服务器,因此请重新检查代理并增加超时:)尝试:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy); // $proxy is ip of proxy server
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$httpCode = curl_getinfo($ch , CURLINFO_HTTP_CODE); // this results 0 every time
$response = curl_exec($ch);
if ($response === false)
$response = curl_error($ch);
echo stripslashes($response);
curl_close($ch);
也许响应时间超过10分钟
我也遇到了同样的问题,我这样解决了。在实际进行HTTP调用之前,您正在尝试访问HTTP响应代码。按如下方式反转执行:
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
s/stripslaches/stripslaches/Thancing for,获得错误“can,nt connect to host”在搜索后发现错误是由于代理服务器引起的。您还可以添加
curl\u errno($ch)
以获取错误号(或0
,如果未发生错误)。恕我直言:询问用户声明,返回结果为空,而不是假,这是一个很大的区别。空并不意味着发生了错误。(我也有同样的问题。)@Jasie实际上会显示一个空屏幕,这是OP的情况“你不能连接到服务器,所以请重新检查你的代理”thanx它工作了
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch , CURLINFO_HTTP_CODE); // this results 0 every time