无法通过file_get_contents()从url接收数据

时间:2015-06-11 08:50:28

标签: php http curl amazon

我得到了

  

无法打开流:HTTP请求失败!找不到HTTP / 1.1 404

尝试访问file_get_contents()的网址时。但是当使用curl -i在unix控制台中调用它时,我得到200 ok

仅调用curl -I的标头获取403 Forbidden

如何通过php获取此页面的内容?为什么我会用curl得到不同的结果?

http://ajillion-customer-files.s3.amazonaws.com/reports/ff82f47836954b88adf57e42b85a82b5\?Signature\=FQNSVR%2Bs1XVu4UzP0%2BfscVmXsRc%3D\&Expires\=1434015848\&AWSAccessKeyId\=AKIAJ35DX3F5NPKSAKMQ

1 个答案:

答案 0 :(得分:0)

看起来您的网址是使用shell参数进行反斜杠转义的吗?因此,服务器无法正确读取查询参数。 如果我运行这个:

<?php
echo file_get_contents('http://ajillion-customer-files.s3.amazonaws.com/reports/ff82f47836954b88adf57e42b85a82b5?Signature=FQNSVR%2Bs1XVu4UzP0%2BfscVmXsRc%3D&Expires=1434015848&AWSAccessKeyId=AKIAJ35DX3F5NPKSAKMQ');

工作正常并返回:

{"rows": [{"advertiser": "BM Fogzy", "hits": 0, "campaign": "BM Fozgy US (87417)", "revenue": 4.049, "source": 4, "impressions": 16196}]}