2013-03-25 170 views
0

我在Windows 8中使用wget for windows(gnuwin32 wget-1.11.4-1)並將其用於名爲kayako的幫助臺工具,告訴它從郵件隊列。命令行看起來是這樣的:使用wget並獲得與使用瀏覽器不同的結果

wget.exe -O null --timeout 25 http://xxx.kayako.com/cron/index.php?/Parser/ParserMinute/POP3IMAP 

我知道這需要大約20秒內使用,在上面的命令行中的URL瀏覽器時,接收來自服務器的響應在我的具體情況。但是,使用該命令時,它幾乎立即返回。這是輸出摘錄:

正在連接到xxx.kayako.com [xxx.xxx.xxx.xxx]:80 ...已連接。 HTTP請求 發送,正在等待迴應... 200 OK長度:未指定 [文/ HTML]

我想知道什麼是兩種情況之間的差異,我怎麼能拿wget來表現在與計算機一樣(我知道它並不是因爲kayako不是從電子郵件隊列中輪詢)。

+1

啓動WireShark並查看HTTP標頭的差異。 – Luke 2013-03-25 13:38:39

+0

@Luke謝謝你的好主意,我會這樣做,如果我能解決問題,請回復更新 – DPM 2013-03-25 13:43:19

回答

2

有許多潛在的變量,但是網絡服務器最常見的區別之一是基於您所報告的用戶代理字符串。默認情況下,wget會將其自身標識爲wget。如果這是一個問題,您可以使用--user-agent=選項更改用戶代理字符串。

例如,您可以在64位Windows上識別出類似於--user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0"的Firefox。

+0

謝謝,這是非常好的猜測!不幸的是,我仍然幾乎立即從服務器收到「200」的響應(瀏覽器總是需要更長的時間),並且不起作用。 – DPM 2013-03-25 12:37:09

+1

如果不是這樣或--referer =「http:// some/site /」,那麼我不知道還有什麼要說的 – 2013-03-25 13:34:11

相關問題