2012-02-08 253 views
9

我嘗試使用批處理文件與WGET從這裏WGET 401未授權

http://wireless.fcc.gov/uls/data/complete/l_micro.zip

下載公開FCC文件中當我intially運行帶參數的批處理文件

wget --server-response -owget.log http://wireless.fcc.gov/uls/data/complete/l_micro.zip 

它會因HTTP 401未經授權的錯誤而失敗。我可以在這一點重試,並且一直失敗。不過,我注意到如果我打開IE瀏覽器,開始下載並在提示保存時取消,我可以重新運行批處理文件,並且它可以完美執行!

下面是從日誌

--2012-02-06 14:32:24-- http://wireless.fcc.gov/uls/data/complete/l_micro.zip 
Resolving wireless.fcc.gov (wireless.fcc.gov)... 192.104.54.158 
Connecting to wireless.fcc.gov (wireless.fcc.gov)|192.104.54.158|:80... connected. 
HTTP request sent, awaiting response... 
    HTTP/1.1 302 Found 
    Location: REMOVED - appears to have my IP 
    Cache-Control: no-cache 
    Pragma: no-cache 
    Content-Type: text/html; charset=utf-8 
    Connection: close 
    Content-Length: 513 
Location: REMOVED [following] 
--2012-02-06 14:32:24-- REMOVED 
Resolving REMOVED... 192.168.2.11 
Connecting to REMOVED|192.168.2.11|:80... connected. 
HTTP request sent, awaiting response... 
    HTTP/1.1 401 Unauthorized 
    Cache-Control: no-cache 
    Pragma: no-cache 
    WWW-Authenticate: NTLM 
    WWW-Authenticate: BASIC realm="AD_BCAAA" 
    Content-Type: text/html; charset=utf-8 
    Proxy-Connection: close 
    Set-Cookie: BCSI-CS-8ECFB6B4AA642EF0=2; Path=/ 
    Connection: close 
    Content-Length: 575 
Authorization failed. 

我詳細的服務器響應下面是日誌做我的小IE程序,並得到後它的工作

--2012-02-08 15:52:43-- http://wireless.fcc.gov/uls/data/complete/l_micro.zip 
Resolving wireless.fcc.gov (wireless.fcc.gov)... 192.104.54.158 
Connecting to wireless.fcc.gov (wireless.fcc.gov)|192.104.54.158|:80... connected. 
HTTP request sent, awaiting response... 
    HTTP/1.1 200 OK 
    Server: Sun-Java-System-Web-Server/7.0 
    Date: Fri, 27 Jan 2012 18:37:51 GMT 
    Content-type: application/zip 
    Last-modified: Sun, 22 Jan 2012 11:18:09 GMT 
    Etag: "46fa95c-4f1bf071" 
    Accept-ranges: bytes 
    Content-length: 74426716 
    Connection: Keep-Alive 
    Age: 1045014 
Length: 74426716 (71M) [application/zip] 
Saving to: `l_micro.zip' 

任何幫助表示讚賞!

+0

你的命令對我來說是完美無缺的...... – jglouie 2012-02-08 21:10:44

+0

我嘗試了'wget http:// wireless.fcc.gov/uls/data/complete/l_micro.zip',並得到了'74693506'的文件'l_micro.zip'字節與sha1sum的'1f8393bf6231bfa9689ec91cab6a660244f35605'。 – 2012-02-08 21:13:40

+0

您的網絡上是否有透明代理?你可以在你的IE會話中運行wireshark或fiddler來看看它有什麼不同嗎? – 2012-02-09 17:56:39

回答

0

嘗試使用wget設置用戶代理字符串 - 例如,

--user-agent=Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) 

它是完全可行的一個站點拒絕來自某些用戶代理請求,尤其是當它們看起來要規避「通常」的路由信息​​(即通過網頁)。

雖然這並不能解釋您的問題,但無論如何這是個好主意。也許該網站實現一種機制,當你與一個「已知」的瀏覽器(如IE)瀏覽它,然後緩存您的IP爲「安全」,然後讓您的IP任何用戶代理下載任何東西:)

+0

我試過了你的建議,並且在瀏覽器中也使用了我自己的UA,並沒有幫助。這似乎是開啓和關閉,當我今天早上登上電腦時,無論設置什麼參數,它都能正常工作,並且最近停止工作。 難道這不知是一個防火牆問題還是可能是別的? – user1192537 2012-02-09 13:48:54

9

你有一個Blue Coat網絡上的安全Web網關,就證明在響應行:

Set-Cookie: BCSI-CS-8ECFB6B4AA642EF0=2; Path=/ 

看起來它要你驗證,推測可能與你的域憑據。嘗試將它們傳遞給--http-user--http-passwd

17

如果網站只是一個htpassword設置,你可以嘗試:

wget --user=admin --ask-password https://www.yourwebsite.com/file.zip 
+1

+1當您獲得401未經授權時,此功能非常有用。謝謝! – styfle 2013-04-04 23:18:15

1

我曾與XWiki實現基於網站類似的問題。多次嘗試後,我發現了一些組合,對於工作我就好

的wget --no檢查證書--auth-NO-挑戰-k -NC -p -l 1 -r https://user:[email protected]

我認爲關鍵是-auth-no-challenge

5

我用--auth-no-challenge,確切的錯誤得到解決。

+0

完美...我打電話給的API不是發送授權挑戰。 [此選項](https://www.gnu.org/software/wget/manual/html_node/HTTP-Options.html)強制wget始終發送授權標頭。 – mlathe 2018-03-09 16:28:11

0

我來到這裏試圖找出爲什麼wget在另一個系統上發出401未經授權的消息時,問題沒有發生。

從源代碼安裝了更高版本的wget(二進制文件在我的發行版中不可用),它工作。我無法解釋爲什麼,除非它必定是某種錯誤,所以如果上述方法都不能解決您的問題,請考慮升級wget。