4

我正在用 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>
4

1 回答 1

0

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

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

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

于 2014-07-24T13:52:29.983 回答