Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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_Web Scraping - Fatal编程技术网

PHP CURL超时,无论超时是什么

PHP CURL超时,无论超时是什么,php,curl,web-scraping,Php,Curl,Web Scraping,我正在用php编写一个小程序,利用curl登录并从服务下载一些报告。程序工作正常,直到这一点,它应该得到报告,然后程序继续计时与下面的消息。有什么想法或建议吗?我最初连接到的服务器是MS IIS服务器,然后它会跳转到此AkamaiGHost服务器以获取报告 下面是我正在使用的curl setopts curl_setopt($ch, CURLOPT_USERAGENT,$user_agent); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl

我正在用php编写一个小程序,利用curl登录并从服务下载一些报告。程序工作正常,直到这一点,它应该得到报告,然后程序继续计时与下面的消息。有什么想法或建议吗?我最初连接到的服务器是MS IIS服务器,然后它会跳转到此AkamaiGHost服务器以获取报告

下面是我正在使用的curl setopts

curl_setopt($ch, CURLOPT_USERAGENT,$user_agent);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file);
curl_setopt($ch,CURLOPT_CERTINFO,true);
curl_setopt($ch,CURLOPT_HEADER,true);
curl_setopt($ch,CURLOPT_HTTPAUTH,CURLAUTH_ANY);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true);
curl_setopt ($ch, CURLOPT_CAINFO,'cacert.pem');


Report Response:
HTTP/1.1 100 Continue

HTTP/1.1 504 Gateway Time-out
Server: AkamaiGHost
Mime-Version: 1.0
Content-Type: text/html
Content-Length: 250
Expires: Fri, 05 Jul 2013 19:14:43 GMT
Date: Fri, 05 Jul 2013 19:14:43 GMT
Connection: close

<HTML><HEAD>
<TITLE>Gateway Timeout - In read </TITLE>
</HEAD><BODY>
<H1>Gateway Timeout</H1>
The proxy server did not receive a timely response from the upstream server.<P>
Reference&#32;&#35;1&#46;ed690317&#46;1373051683&#46;bb2c2f0
</BODY></HTML>
curl\u setopt($ch,CURLOPT\u USERAGENT,$user\u agent);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file);
curl_setopt($ch,CURLOPT_CERTINFO,true);
curl_setopt($ch,CURLOPT_头,true);
curl_setopt($ch,CURLOPT_HTTPAUTH,CURLAUTH_ANY);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true);
curl_setopt($ch,CURLOPT_CAINFO,'cacert.pem');
报告答复:
HTTP/1.1 100继续
HTTP/1.1 504网关超时
服务器:AkamaiGHost
Mime版本:1.0
内容类型:text/html
内容长度:250
过期时间:2013年7月5日星期五19:14:43 GMT
日期:2013年7月5日星期五19:14:43 GMT
连接:关闭
网关超时-读取中
网关超时
代理服务器没有收到来自上游服务器的及时响应。

参考文献 #1.ed690317和#46;1373051683.bb2c2f0

我怀疑您的IIS服务器(或您正在运行脚本的服务器)没有到AkamaiGHost服务器的路由-这可能是防火墙问题、DNS问题或其他一些连接问题(可能AkamaiGHost没有设置为侦听来自您服务器的请求?)

您应该检查是否可以在服务器上发出传出请求


尝试登录到正在运行脚本的服务器上,并ping AkamaiGHost服务器-如果可以,请尝试命令行curl(而不是SSL)-如果可以,则问题很可能是由于SSL端口(443)上的传出连接受到干扰所致-例如防火墙。

可能会发布curl请求。。您是否为下一个请求适当地存储了Cookie/auth?您需要找出akamai的代理无法访问您尝试访问的任何服务器的原因。在浏览器中,呼叫几乎立即完成…在curl it超时内。。Cookie和auth不是问题,我正在登录,抓取另一个页面,然后抓取另一个页面..您的浏览器在本地机器上直接连接到目标,而不是Akamai工作吗?