我正在用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>
答案 0 :(得分:0)
我怀疑您的IIS服务器(或您运行脚本的服务器)没有到AkamaiGHost服务器的路由 - 这可能是防火墙问题,DNS问题或其他一些连接问题(可能未设置AkamaiGHost)收听服务器的请求?)。
您应该检查是否可以在服务器上发出传出请求。
尝试登录运行脚本的服务器,并ping AkamaiGHost服务器 - 如果有效,请尝试使用命令行curl(而不是SSL) - 如果可以,那么问题很可能是由于某些事情干扰了传出SSL端口(443)上的连接 - 例如防火墙。