Linux系統入門學習:在wget中禁用HTTP轉寄
提問: 當我用wget擷取一個重新導向到URL Y的URL X的時候,wget預設會自動擷取URL Y。然而我想要強制擷取不帶重新導向的URL X。我該如何禁用wget重新導向URL的功能。
在HTTP標準中,重新導向響應(帶3XX的HTTP響應)說明請求的URL被移到了新的位置。重新導向相應接著包含了目標重新導向的URL。
像常規的HTTP用戶端,wget支援URL重新導向(也叫URL轉寄),意味著當你嘗試下載一個重新導向的URL時,wget會自動跟隨URL重新導向擷取重新導向後的資源。如果你由於一些原因想要禁用URL重新導向,並停止3XX的狀態代碼,你可以使用wget的“--max-redirect=number”選項。這個選項用來指定最大(遞迴)重新導向的數字,預設是20。
如果你想要禁用wget中的HTTP重新導向,使用“--max-redirect=0”
- $ wget --max-redirect=0 http://www.aaa.com/a.html
- --2014-10-3123:08:58-- http://www.aaa.com/a.html
- Resolving aaa.com (aaa.com)...1.2.3.4
- Connecting to aaa.com (aaa.com)|1.2.3.4|:80... connected.
- HTTP request sent, awaiting response...301MovedPermanently
- Location: http://www.bbb.com/b.html [following]
- 0 redirections exceeded.
如你所見,當wget遇到HTTP重新導向響應時,它不會跟著重新導向,並以“0 redirections exceeded”(超出0次重新導向)的錯誤資訊停止。它同樣會顯示一個HTTP的狀態代碼(比如301)。
注意一下curl,另外一個類似的HTTP用戶端,行為正好相反。預設上,curl並不會跟隨URL重新導向。要強制使cutl重新導向到一個URL,你要使用“-L”選項。
Linux wget命令詳解
Linux 下使用 wget/aria2 進行離線迅雷批量下載
Linux使用wget請求地址時報錯
Linux下載命令wget使用詳解
wget 使用大全
Linux 命令列下載工具 wget 的提示
wget 命令執行個體
本文永久更新連結地址: