2008-10-30 42 views
1

當我嘗試使用curlfile_get_contentshttp://example.com/中讀取類似http://example.com/python/json/的內容時,我應該得到一個JSON響應,但我得到一個404錯誤。在我自己的域之外使用curl或任何其他方法可以很好地工作。從自己的域中讀取文件的結果爲404

echo file_get_contents('http://example.com/python/json/'); => 404 
echo file_get_contents('http://google.com'); => OK 

相同的腳本在我的筆記本電腦上工作,但我無法弄清楚有什麼不同。

回答

2

它看起來像example.com不是IP地址的默認域,file_get_contents使用HTTP/1.0而不是HTTP/1.1和/或不發送主機:標頭。請嘗試使用PHP中的curl支持:

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'http://example.com/'); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($curl); 
curl_close($curl); 

或者/ etc/hosts文件爲example.com設置錯誤的IP地址。

+0

謝謝。我將域名更改爲IP地址,我們都設置好了。 – 2008-10-30 19:37:05

0

與域有關,也許?當然,你不想在這裏透露它,所以你可能有一些事情要做,但我想理智的檢查將是你可以通過網絡瀏覽器訪問該URL(或者如果你使用命令行工具,如GET只有命令行)。

你也可以ping通和/或跟蹤路由到域 - 結果可能很明顯。

相關問題