PHP CURL 超时,不管超时是什么

标签 php curl web-scraping

我正在用 php 编写一个小程序,利用 curl 登录并从服务下载一些报告。该程序可以正常工作,直到它应该获得报告的这一点,然后该程序一直超时并显示以下消息。有什么想法或建议吗?我原来连接的服务器是一个MS IIS Server,然后跳转到这个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>

最佳答案

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

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

尝试登录到运行脚本的服务器,然后 ping AkamaiGHost 服务器 - 如果可行,请尝试命令行 curl(不是 SSL) - 如果可行,那么你的问题很可能是由于某些干扰传出的东西SSL 端口 (443) 上的连接 - 例如您的防火墙。

关于PHP CURL 超时,不管超时是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17495590/

相关文章:

php - 遍历对象数组

php - 通过服务将 Symfony EntityManager 注入(inject)到表单类型中

php - 在 Sphinx 中使用 SPH_SORT_RELEVANCE 时,权重相等的结果如何排序?

bash for 循环与 grave 命令

未加载 PHP 7 curl

c++ - CPP : Using UTF-8 in cURL

Python 和 Scrapy 引用项目的属性

python - 使用变量操作 xpath

php - 使用动态数据自动刷新 div

python - 返回特定内容