wget命令詳解

使用語法和參數說明

<code>$ wget --help
GNU Wget 1.20.3,非交互式的網絡文件下載工具。

用法: wget [選項]... [URL]...

長選項所必須的參數在使用短選項時也是必須的。

啟動:
-V, --version 顯示 Wget 的版本信息並退出
-h, --help 打印此幫助
-b, --background 啟動後轉入後臺
-e, --execute=命令 運行一個“.wgetrc”風格的命令

日誌和輸入文件:
-o, --output-file=文件 將日誌信息寫入 FILE
-a, --append-output=文件 將信息添加至 FILE
-d, --debug 打印大量調試信息
-q, --quiet 安靜模式 (無信息輸出)
-v, --verbose 詳盡的輸出 (此為默認值)
-nv, --no-verbose 關閉詳盡輸出,但不進入安靜模式
--report-speed=類型 以 報告帶寬。類型可以是 bits
-i, --input-file=文件 下載本地或外部 中的 URL
--input-metalink=文件 下載本地 Metalink 中的文件
-F, --force-html 把輸入文件當成 HTML 文件
-B, --base=URL 解析相對於 URL 的 HTML 輸入文件鏈接 (-i -F)
--config=文件 指定要使用的配置文件
--no-cookies 不讀取任何配置文件
--rejected-log=文件 將拒絕 URL 的原因寫入 。

下載:
-t, --tries=數字 設置重試次數為 (0 代表無限制)

--retry-connrefused 即使拒絕連接也是重試
--retry-on-http-error=ERRORS 提供以逗號分隔的列表,列出遇到時進行重試的 HTTP 錯誤
-O, --output-document=文件 將文檔寫入 FILE
-nc, --no-clobber 不要下載已存在將被覆蓋的文件
--no-netrc 不要嘗試從 .netrc 獲取憑據
-c, --continue 斷點續傳下載文件
--start-pos=偏移量 從由零計數的 開始下載
--progress=類型 選擇進度條類型
--show-progress 在任意囉嗦狀態下都顯示進度條
-N, --timestamping 只獲取比本地文件新的文件
--no-if-modified-since 不要在時間戳 (timestamping) 模式下使用
if-modified-since get 條件請求
--no-use-server-timestamps 不用服務器上的時間戳來設置本地文件
-S, --server-response 打印服務器響應
--spider 不下載任何文件
-T, --timeout=SECONDS 將所有超時設為 SECONDS 秒
--dns-timeout=SECS 設置 DNS 查尋超時為 SECS 秒
--connect-timeout=SECS 設置連接超時為 SECS 秒
--read-timeout=SECS 設置讀取超時為 SECS 秒
-w, --wait=SECONDS 等待間隔為 SECONDS 秒
--waitretry=SECONDS 在獲取文件的重試期間等待 1..SECONDS 秒
--random-wait 獲取多個文件時,每次隨機等待間隔 (0.5~1.5)*WAIT 秒
--no-proxy 禁止使用代理
-Q, --quota=數字 設置獲取配額為 字節
--bind-address=ADDRESS 綁定至本地主機上的 ADDRESS (主機名或是 IP)

--limit-rate=RATE 限制下載速率為 RATE
--no-dns-cache 關閉 DNS 查詢緩存
--restrict-file-names=系統 限定文件名中的字符為 允許的字符
--ignore-case 匹配文件/目錄時忽略大小寫
-4, --inet4-only 僅連接至 IPv4 地址
-6, --inet6-only 僅連接至 IPv6 地址
--prefer-family=地址族 首先連接至指定家族(IPv6,IPv4 或 none)的地址
--user=用戶 將 ftp 和 http 的用戶名均設置為
--password=密碼 將 ftp 和 http 的密碼均設置為
--ask-password 提示輸入密碼
--use-askpass=命令 指定用於請求用戶名和密碼的憑據管理器。
如果沒有提供指定命令,程序將使用 WGET_ASKPASS 或
SSH_ASKPASS 環境變量。
--no-iri 關閉 IRI 支持
--local-encoding=ENC 使用 ENC 作為 IRI (國際化資源標識符) 的本地編碼
--remote-encoding=ENC 使用 ENC 作為默認遠程編碼
--unlink 覆蓋前移除文件
--keep-badhash 保留校驗和不正確的文件(附加後綴 .badhash)
--metalink-index=NUMBER Metalink application/metalink4+xml metaurl ordinal NUMBER
--metalink-over-http 使用來自 HTTP 響應頭的 Metalink 元數據
--preferred-location Metalink 資源的首選位置

目錄:
-nd, --no-directories 不創建目錄
-x, --force-directories 強制創建目錄
-nH, --no-host-directories 不要創建主 (host) 目錄
--protocol-directories 在目錄中使用協議名稱

-P, --directory-prefix=前綴 保存文件到 /..
--cut-dirs=數字 忽略遠程目錄中 個目錄層。

HTTP 選項:
--http-user=用戶 設置 http 用戶名為
--http-password=密碼 設置 http 密碼為
--no-cache 不使用服務器緩存的數據。
--default-page=NAME 改變默認頁 (通常是“index.html”)。
-E, --adjust-extension 以合適的擴展名保存 HTML/CSS 文檔
--ignore-length 忽略頭部的‘Content-Length’區域
--header=字符串 在頭部插入
--compression=類型 選擇壓縮類型,值可以為 auto、gzip 和 none。(默認:none)
--max-redirect 每頁所允許的最大重定向
--proxy-user=用戶 使用 作為代理用戶名
--proxy-password=密碼 使用 作為代理密碼
--referer=URL 在 HTTP 請求頭包含‘Referer: URL’
--save-headers 將 HTTP 頭保存至文件。
-U, --user-agent=代理 標識自己為 而不是 Wget/VERSION。
--no-http-keep-alive 禁用 HTTP keep-alive (持久連接)。
--no-cookies 不使用 cookies。
--load-cookies=文件 會話開始前從 中載入 cookies。
--save-cookies=文件 會話結束後保存 cookies 至 FILE。
--keep-session-cookies 載入並保存會話 (非永久) cookies。
--post-data=字符串 使用 POST 方式;把 作為數據發送。
--post-file=文件 使用 POST 方式;發送 內容。
--method=HTTP方法 在請求中使用指定的 <http>。

--post-data=字符串 把 作為數據發送,必須設置 --method
--post-file=文件 發送 內容,必須設置 --method
--content-disposition 當選擇本地文件名時允許 Content-Disposition
頭部 (實驗中)。
--content-on-error 在服務器錯誤時輸出接收到的內容
--auth-no-challenge 不先等待服務器詢問就發送基本 HTTP 驗證信息。

HTTPS (SSL/TLS) 選項:
--secure-protocol=PR 選擇安全協議,值可以是 auto、SSLv2、
SSLv3、TLSv1、TLSv1_1、TLSv1_2 或 PFS
--https-only 只跟隨安全的 HTTPS 鏈接
--no-check-certificate 不要驗證服務器的證書。
--certificate=文件 客戶端證書文件。
--certificate-type=類型 客戶端證書類型,PEM 或 DER。
--private-key=文件 私鑰文件。
--private-key-type=類型 私鑰文件類型,PEM 或 DER。
--ca-certificate=文件 帶有一組 CA 證書的文件。
--ca-directory=DIR 保存 CA 證書的哈希列表的目錄。
--ca-certificate=文件 帶有一組 CA 證書的文件。
--pinnedpubkey=文件/散列值 用於驗證節點的公鑰(PEM/DER)文件或
任何數量的 sha256 散列值,以 base64 編碼、
“sha256//” 開頭、用“;”間隔
--random-file=文件 用於初始化 SSL 偽隨機數生成器(PRNG)的文件,
應含有隨機數據


--ciphers=STR Set the priority string (GnuTLS) or cipher list string (OpenSSL) directly.
Use with care. This option overrides --secure-protocol.
The format and syntax of this string depend on the specific SSL/TLS engine.
HSTS 選項:
--no-hsts 禁用 HSTS
--hsts-file HSTS 數據庫路徑(將覆蓋默認值)

FTP 選項:
--ftp-user=用戶 設置 ftp 用戶名為 。
--ftp-password=密碼 設置 ftp 密碼為
--no-remove-listing 不要刪除‘.listing’文件
--no-glob 不在 FTP 文件名中使用通配符展開
--no-passive-ftp 禁用“passive”傳輸模式
--preserve-permissions 保留遠程文件的權限
--retr-symlinks 遞歸目錄時,獲取鏈接的文件 (而非目錄)

FTPS 選項:
--ftps-implicit 使用隱式 FTPS(默認端口 990)
--ftps-resume-ssl 打開數據連接時繼續控制連接中的 SSL/TLS 會話
--ftps-clear-data-connection 只加密控制信道;數據傳輸使用明文
--ftps-fallback-to-ftp 回落到 FTP,如果目標服務器不支持 FTPS
WARC 選項:
--warc-file=文件名 在一個 .warc.gz 文件裡保持請求/響應數據
--warc-header=字符串 在頭部插入
--warc-max-size=數字 將 WARC 的最大尺寸設置為
--warc-cdx 寫入 CDX 索引文件
--warc-dedup=文件名 不要記錄列在此 CDX 文件內的記錄
--no-warc-compression 不要 GZIP 壓縮 WARC 文件

--no-warc-digests 不要計算 SHA1 摘要
--no-warc-keep-log 不要在 WARC 記錄中存儲日誌文件
--warc-tempdir=目錄 WARC 寫入器的臨時文件目錄

遞歸下載:
-r, --recursive 指定遞歸下載
-l, --level=數字 最大遞歸深度 (inf 或 0 代表無限制,即全部下載)。
--delete-after 下載完成後刪除本地文件
-k, --convert-links 讓下載得到的 HTML 或 CSS 中的鏈接指向本地文件
--convert-file-only 只轉換 URL 的文件部分(一般叫做“基礎名”/basename)
--backups=N 寫入文件 X 前,輪換移動最多 N 個備份文件
-K, --backup-converted 在轉換文件 X 前先將它備份為 X.orig。
-m, --mirror -N -r -l inf --no-remove-listing 的縮寫形式。
-p, --page-requisites 下載所有用於顯示 HTML 頁面的圖片之類的元素。
--strict-comments 用嚴格方式 (SGML) 處理 HTML 註釋。

遞歸接受/拒絕:
-A, --accept=列表 逗號分隔的可接受的擴展名列表
-R, --reject=列表 逗號分隔的要拒絕的擴展名列表
--accept-regex=REGEX 匹配接受的 URL 的正則表達式
--reject-regex=REGEX 匹配拒絕的 URL 的正則表達式
--regex-type=類型 正則類型 (posix|pcre)
-D, --domains=列表 逗號分隔的可接受的域名列表
--exclude-domains=列表 逗號分隔的要拒絕的域名列表

--follow-ftp 跟蹤 HTML 文檔中的 FTP 鏈接
--follow-tags=列表 逗號分隔的跟蹤的 HTML 標識列表
--ignore-tags=列表 逗號分隔的忽略的 HTML 標識列表
-H, --span-hosts 遞歸時轉向外部主機
-L, --relative 僅跟蹤相對鏈接
-I, --include-directories=列表 允許目錄的列表
--trust-server-names 使用重定向 URL 的最後一段作為本地文件名
-X, --exclude-directories=列表 排除目錄的列表
-np, --no-parent 不追溯至父目錄

請將錯誤報告、問題和討論寄信至 <bug-wget>
和/或在 https://savannah.gnu.org/bugs/?func=additem&group=wget 開 issue 進行討論/<bug-wget>/<http>/<code>

常用使用實例

<code>// 下載文件
wget https://eternallybored.org/misc/wget/1.20.3/64/wget.exe

// 斷點續傳
wget -c https://eternallybored.org/misc/wget/1.20.3/64/wget.exe

// 下載文件重命名
wget -c -O filename https://eternallybored.org/misc/wget/1.20.3/64/wget.exe

// 後臺下載
wget -c -O filename -b https://eternallybored.org/misc/wget/1.20.3/64/wget.exe

// 設置user-agent
wget -U "Mozilla/5.0" https://eternallybored.org/misc/wget/1.20.3/64/wget.exe

//wget 不僅可以下載文件還可以下載網站,很適合下載一些文檔類型的網站,這樣在沒有網絡的情況在本地也是可以瀏覽的

wget -c --mirror -p --convert-links -O python-requests http://2.python-requests.org/zh_CN/latest/user/quickstart.html

// 設置代理
wget -e https_proxy=http://127.0.0.1:1081 https://eternallybored.org/misc/wget/1.20.3/64/wget.exe
如果是http,則參數為:-e http_proxy=http://127.0.0.1:1081
/<code>


分享到:


相關文章: