我同時使用捲曲和wget得到這個網址:http://opinionator.blogs.nytimes.com/2012/01/19/118675/爲什麼捲曲不起作用,但wget的作品?
對於捲曲,它返回任何輸出,但是wget的,它返回整個HTML源代碼:
這裏有2個命令。我使用了相同的用戶代理,並且都來自相同的IP,並且遵循重定向。該URL完全相同。對於捲曲,它在1秒後立即返回,所以我知道這不是超時問題。
curl -L -s "http://opinionator.blogs.nytimes.com/2012/01/19/118675/" --max-redirs 10000 --location --connect-timeout 20 -m 20 -A "Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" 2>&1
wget http://opinionator.blogs.nytimes.com/2012/01/19/118675/ --user-agent="Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"
如果紐約時報可能是僞裝的,而不是返回源捲曲,這可能是在頭捲曲不同的發送?我假設用戶代理是相同的,那麼這兩個請求的請求應該看起來完全一樣。我應該檢查什麼其他「腳印」?
這一個會幫助你嗎? http://stackoverflow.com/questions/8298727/curl-hanging-for-15-seconds-when-sending-head-requests –
根本不幫助:( –
我建議在您的curl請求中添加'-v'標誌向您展示所有正在發生的事情。添加到您的wget請求中的'-d'標誌向您顯示了成功的wget請求發生了什麼情況。兩個程序都重定向到登錄頁面,但wget成功檢索到目標資源,但是curl不斷重定向,直到它得到一個不好的重定向並放棄。從簡單的看看輸出,看起來wget正確地將cookie發送回nytimes.com,而curl從不發送任何cookie返回。 –