【发布时间】:2013-07-05 19:20:58
【问题描述】:
我正在用 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 #1.ed690317.1373051683.bb2c2f0
</BODY></HTML>
【问题讨论】:
-
发布您的 CURL 请求也许......您是否为下一个请求适当地存储了 cookie/auth?
-
您需要弄清楚为什么 akamai 的代理无法访问您尝试访问的任何服务器。
-
在浏览器内调用几乎立即完成...在 curl 它超时.. cookie 和身份验证不是问题,我正在登录,抓取另一个页面,然后抓取另一个页面..
-
您的本地计算机上的浏览器直接连接到目标,而不是 Akamai 是否有效?
标签: php curl web-scraping