簡體   English   中英

無法通過 file_get_contents() 從 url 接收數據

[英]failed to receive data from url via file_get_contents()

我得到

無法打開流:HTTP 請求失敗! 未找到 HTTP/1.1 404

嘗試使用file_get_contents()訪問 url 時。 但是,當在 unix 控制台中使用curl -i調用它時,我得到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

看起來您的 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');

它工作正常並返回:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM