我正在运行一段简单的PHP代码,如下所示:
echo file_get_contents( 'http://example.com/service?params' );
当我在本地计算机上(在工作中)或从我的共享主机帐户运行代码时,或者如果我只是在浏览器中打开URL,我会得到以下结果:
{"instances":[{"timestamp":"2014-02-28 18:03:39.0","ids":[{"id":"525125875"}],"cId":179,"cInstanceId":9264183220}]}
但是,当我在工作场所的两个不同网络服务器中运行完全相同的代码时,我得到以下略有不同的结果:
{"instances":[{"timestamp":"2014-02-28 18:03:39.0","ids":[{"id":"632572147"}],"cId":179,"cInstanceId":4302001980}]}
注意一些数字是如何不同的,这就是全部。不幸的是,这些不同的数字是错误的数字。结果应该与第一个相同。
我正在拨打电话的服务器位于我的工作场所之外。
我已经尝试改变file_get_contents调用以包含标头和伪装成浏览器,但似乎没有任何结果给出不同的结果(除了由于意外格式错误的请求而导致的错误)。我不能使用cURL,因为它没有安装在需要部署此代码的服务器上。
有什么可能导致不同结果的线索?也许请求标题中的某些内容?虽然我不确定为什么标题中的某些内容会导致服务返回不同的数据。
感谢。
(编辑)
我正在测试的服务网址是:
它给出的反应与我上面发布的内容略有不同;我简化并简化了我的帖子中的回复,使其更容易阅读 - 但给出的基本信息和差异仍然是相同的。
我给服务一个时间戳,我想要获取的图像数量是在那个时间戳之前创建的,还有一个'cygnetId',它定义了我希望图像显示的数据类型(太阳风速度,辐射)皮带强度等)。 然后,该服务回复了我给它的一些信息,以及我请求的图像的URL段。
使用返回的数据,我可以构建图像的URL。 这是根据“正确”响应构建的图像的URL:
http://iswa.ccmc.gsfc.nasa.gov/IswaSystemWebApp/StreamByDataIdServlet?allDataId=525125875
以下是根据“错误”响应构建的图片的网址:
http://iswa.ccmc.gsfc.nasa.gov/IswaSystemWebApp/StreamByDataIdServlet?allDataId=632572147
如果点击上面的链接,您会看到“错误的”网址无法打开图片 - 回复为空白。