无法通过 file_get_contents() 从 url 接收数据
failed to receive data from url via file_get_contents()
我明白了
failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
尝试使用 file_get_contents()
访问 url 时。但是,当使用 curl -i
在 unix 控制台中调用它时,我得到 200 ok
.
仅通过 curl -I
调用 headers 得到 403 Forbidden
如何通过php获取该页面的内容?为什么使用 curl?
会得到不同的结果
http://ajillion-customer-files.s3.amazonaws.com/reports/ff82f47836954b88adf57e42b85a82b5\?Signature\=FQNSVR%2Bs1XVu4UzP0%2BfscVmXsRc%3D\&Expires\=1434015848\&AWSAccessKeyId\=AKIAJ35DX3F5NPKSAKMQ
您的 URL 似乎是因为使用 shell 参数而被反斜杠转义?因此,服务器无法正确读取查询参数。
如果我 运行 这个:
<?php
echo file_get_contents('http://ajillion-customer-files.s3.amazonaws.com/reports/ff82f47836954b88adf57e42b85a82b5?Signature=FQNSVR%2Bs1XVu4UzP0%2BfscVmXsRc%3D&Expires=1434015848&AWSAccessKeyId=AKIAJ35DX3F5NPKSAKMQ');
它工作正常 returns:
{"rows": [{"advertiser": "BM Fogzy", "hits": 0, "campaign": "BM Fozgy US (87417)", "revenue": 4.049, "source": 4, "impressions": 16196}]}
我明白了
failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
尝试使用 file_get_contents()
访问 url 时。但是,当使用 curl -i
在 unix 控制台中调用它时,我得到 200 ok
.
仅通过 curl -I
调用 headers 得到 403 Forbidden
如何通过php获取该页面的内容?为什么使用 curl?
会得到不同的结果http://ajillion-customer-files.s3.amazonaws.com/reports/ff82f47836954b88adf57e42b85a82b5\?Signature\=FQNSVR%2Bs1XVu4UzP0%2BfscVmXsRc%3D\&Expires\=1434015848\&AWSAccessKeyId\=AKIAJ35DX3F5NPKSAKMQ
您的 URL 似乎是因为使用 shell 参数而被反斜杠转义?因此,服务器无法正确读取查询参数。 如果我 运行 这个:
<?php echo file_get_contents('http://ajillion-customer-files.s3.amazonaws.com/reports/ff82f47836954b88adf57e42b85a82b5?Signature=FQNSVR%2Bs1XVu4UzP0%2BfscVmXsRc%3D&Expires=1434015848&AWSAccessKeyId=AKIAJ35DX3F5NPKSAKMQ');
它工作正常 returns:
{"rows": [{"advertiser": "BM Fogzy", "hits": 0, "campaign": "BM Fozgy US (87417)", "revenue": 4.049, "source": 4, "impressions": 16196}]}