2009-12-03 81 views
3

我試圖在PHP內部使用捲曲從我自己的Web服務器抓取頁面。該頁面非常簡單,只是有一些純文本輸出。但是,它返回'null'。我可以使用它成功檢索其他域和其他服務器上的其他頁面。我可以在瀏覽器中看到它,並且我可以用命令行wget抓住它,這只是當我試圖用curl抓住一個特定的頁面時,它只會出現null。我們無法使用file_get_contents,因爲我們的主機已禁用它。PHP:捲曲無法在我自己的站點上抓取純文本頁面

爲什麼世界上會發生這種不同的行爲?

+0

你可以把鏈接指向頁面嗎? – 2009-12-03 18:55:44

+0

你試過curl_error()嗎? http://de2.php.net/curl_error – 2009-12-03 18:56:15

+0

@Pekka:不幸的是,我不能與公衆分享這個頁面。 curl_error()不會咳嗽任何東西。我希望'網站在瀏覽器中顯示正常,沒有出現捲曲',本身就是一些指示... – AlexMax 2009-12-03 18:58:21

回答

1

嘗試setting curl的用戶代理。有時主機會通過阻止wget或curl等東西來阻止「機器人」 - 但通常他們只是通過檢查用戶代理來完成此操作。

1

您應該檢查curl_error()的輸出,並查看您的http服務器的日誌文件。

2

發現此問題。我把我的網址放在不在curl_init()中的地方,那個地方截斷了查詢字符串。一旦我將它移回curl_init,它就起作用了。