語法: wget [選項]... [URL]...
長選項所必須的參數(shù)在使用短選項時也是必須的。
啟動:
-V, --version 顯示 Wget 的版本信息并退出。
-h, --help 打印此幫助。
-b, --background 啟動后轉(zhuǎn)入后臺。
-e, --execute=COMMAND 運行一個“.wgetrc”風(fēng)格的命令。
日志和輸入文件:
-o, --output-file=FILE 將日志信息寫入 FILE。
-a, --append-output=FILE 將信息添加至 FILE。
-d, --debug 打印大量調(diào)試信息。
-q, --quiet 安靜模式 (無信息輸出)。
-v, --verbose 詳盡的輸出 (此為默認(rèn)值)。
-nv, --no-verbose 關(guān)閉詳盡輸出,但不進(jìn)入安靜模式。
-i, --input-file=FILE 下載本地或外部 FILE 中的 URLs。
-F, --force-html 把輸入文件當(dāng)成 HTML 文件。
-B, --base=URL 解析與 URL 相關(guān)的
HTML 輸入文件 (由 -i -F 選項指定)。
--config=FILE Specify config file to use.
下載:
-t, --tries=NUMBER 設(shè)置重試次數(shù)為 NUMBER (0 代表無限制)。
--retry-connrefused 即使拒絕連接也是重試。
-O, --output-document=FILE 將文檔寫入 FILE。
-nc, --no-clobber skip downloads that would download to
existing files (overwriting them).
-c, --continue 斷點續(xù)傳下載文件。
--progress=TYPE 選擇進(jìn)度條類型。
-N, --timestamping 只獲取比本地文件新的文件。
--no-use-server-timestamps 不用服務(wù)器上的時間戳來設(shè)置本地文件。
-S, --server-response 打印服務(wù)器響應(yīng)。
--spider 不下載任何文件。
-T, --timeout=SECONDS 將所有超時設(shè)為 SECONDS 秒。
--dns-timeout=SECS 設(shè)置 DNS 查尋超時為 SECS 秒。
--connect-timeout=SECS 設(shè)置連接超時為 SECS 秒。
--read-timeout=SECS 設(shè)置讀取超時為 SECS 秒。
-w, --wait=SECONDS 等待間隔為 SECONDS 秒。
--waitretry=SECONDS 在獲取文件的重試期間等待 1..SECONDS 秒。
--random-wait 獲取多個文件時,每次隨機等待間隔
0.5*WAIT...1.5*WAIT 秒。
--no-proxy 禁止使用代理。
-Q, --quota=NUMBER 設(shè)置獲取配額為 NUMBER 字節(jié)。
--bind-address=ADDRESS 綁定至本地主機上的 ADDRESS (主機名或是 IP)。
--limit-rate=RATE 限制下載速率為 RATE。
--no-dns-cache 關(guān)閉 DNS 查尋緩存。
--restrict-file-names=OS 限定文件名中的字符為 OS 允許的字符。
--ignore-case 匹配文件/目錄時忽略大小寫。
-4, --inet4-only 僅連接至 IPv4 地址。
-6, --inet6-only 僅連接至 IPv6 地址。
--prefer-family=FAMILY 首先連接至指定協(xié)議的地址
FAMILY 為 IPv6,IPv4 或是 none。
--user=USER 將 ftp 和 http 的用戶名均設(shè)置為 USER。
--password=PASS 將 ftp 和 http 的密碼均設(shè)置為 PASS。
--ask-password 提示輸入密碼。
--no-iri 關(guān)閉 IRI 支持。
--local-encoding=ENC IRI (國際化資源標(biāo)識符) 使用 ENC 作為本地編碼。
--remote-encoding=ENC 使用 ENC 作為默認(rèn)遠(yuǎn)程編碼。
--unlink remove file before clobber.
目錄:
-nd, --no-directories 不創(chuàng)建目錄。
-x, --force-directories 強制創(chuàng)建目錄。
-nH, --no-host-directories 不要創(chuàng)建主目錄。
--protocol-directories 在目錄中使用協(xié)議名稱。
-P, --directory-prefix=PREFIX 以 PREFIX/... 保存文件
--cut-dirs=NUMBER 忽略遠(yuǎn)程目錄中 NUMBER 個目錄層。
HTTP 選項:
--http-user=USER 設(shè)置 http 用戶名為 USER。
--http-password=PASS 設(shè)置 http 密碼為 PASS。
--no-cache 不在服務(wù)器上緩存數(shù)據(jù)。
--default-page=NAME 改變默認(rèn)頁
(默認(rèn)頁通常是“index.html”)。
-E, --adjust-extension 以合適的擴展名保存 HTML/CSS 文檔。
--ignore-length 忽略頭部的‘Content-Length’區(qū)域。
--header=STRING 在頭部插入 STRING。
--max-redirect 每頁所允許的最大重定向。
--proxy-user=USER 使用 USER 作為代理用戶名。
--proxy-password=PASS 使用 PASS 作為代理密碼。
--referer=URL 在 HTTP 請求頭包含‘Referer: URL’。
--save-headers 將 HTTP 頭保存至文件。
-U, --user-agent=AGENT 標(biāo)識為 AGENT 而不是 Wget/VERSION。
--no-http-keep-alive 禁用 HTTP keep-alive (永久連接)。
--no-cookies 不使用 cookies。
--load-cookies=FILE 會話開始前從 FILE 中載入 cookies。
--save-cookies=FILE 會話結(jié)束后保存 cookies 至 FILE。
--keep-session-cookies 載入并保存會話 (非永久) cookies。
--post-data=STRING 使用 POST 方式;把 STRING 作為數(shù)據(jù)發(fā)送。
--post-file=FILE 使用 POST 方式;發(fā)送 FILE 內(nèi)容。
--content-disposition 當(dāng)選中本地文件名時
允許 Content-Disposition 頭部 (尚在實驗)。
--auth-no-challenge 發(fā)送不含服務(wù)器詢問的首次等待
的基本 HTTP 驗證信息。
HTTPS (SSL/TLS) 選項:
--secure-protocol=PR 選擇安全協(xié)議,可以是 auto、SSLv2、
SSLv3 或是 TLSv1 中的一個。
--no-check-certificate 不要驗證服務(wù)器的證書。
--certificate=FILE 客戶端證書文件。
--certificate-type=TYPE 客戶端證書類型,PEM 或 DER。
--private-key=FILE 私鑰文件。
--private-key-type=TYPE 私鑰文件類型,PEM 或 DER。
--ca-certificate=FILE 帶有一組 CA 認(rèn)證的文件。
--ca-directory=DIR 保存 CA 認(rèn)證的哈希列表的目錄。
--random-file=FILE 帶有生成 SSL PRNG 的隨機數(shù)據(jù)的文件。
--egd-file=FILE 用于命名帶有隨機數(shù)據(jù)的 EGD 套接字的文件。
FTP 選項:
--ftp-user=USER 設(shè)置 ftp 用戶名為 USER。
--ftp-password=PASS 設(shè)置 ftp 密碼為 PASS。
--no-remove-listing 不要刪除‘.listing’文件。
--no-glob 不在 FTP 文件名中使用通配符展開。
--no-passive-ftp 禁用“passive”傳輸模式。
--retr-symlinks 遞歸目錄時,獲取鏈接的文件 (而非目錄)。
遞歸下載:
-r, --recursive 指定遞歸下載。
-l, --level=NUMBER 最大遞歸深度 (inf 或 0 代表無限制,即全部下載)。
--delete-after 下載完成后刪除本地文件。
-k, --convert-links 讓下載得到的 HTML 或 CSS 中的鏈接指向本地文件。
-K, --backup-converted 在轉(zhuǎn)換文件 X 前先將它備份為 X.orig。
-m, --mirror -N -r -l inf --no-remove-listing 的縮寫形式。
-p, --page-requisites 下載所有用于顯示 HTML 頁面的圖片之類的元素。
--strict-comments 用嚴(yán)格方式 (SGML) 處理 HTML 注釋。
遞歸接受/拒絕:
-A, --accept=LIST 逗號分隔的可接受的擴展名列表。
-R, --reject=LIST 逗號分隔的要拒絕的擴展名列表。
-D, --domains=LIST 逗號分隔的可接受的域列表。
--exclude-domains=LIST 逗號分隔的要拒絕的域列表。
--follow-ftp 跟蹤 HTML 文檔中的 FTP 鏈接。
--follow-tags=LIST 逗號分隔的跟蹤的 HTML 標(biāo)識列表。
--ignore-tags=LIST 逗號分隔的忽略的 HTML 標(biāo)識列表。
-H, --span-hosts 遞歸時轉(zhuǎn)向外部主機。
-L, --relative 只跟蹤有關(guān)系的鏈接。
-I, --include-directories=LIST 允許目錄的列表。
--trust-server-names use the name specified by the redirection
url last component.
-X, --exclude-directories=LIST 排除目錄的列表。
-np, --no-parent 不追溯至父目錄。
使用示例:
1. 下載單個文件
wget url + filename
下載過程中可以看到四項信息
已經(jīng)下載的比例,已經(jīng)下載的大小,當(dāng)前的下載速度,剩余的時間
2. 使用一個大寫O做參數(shù)表示另存為
wget -O save_name url
這種方法適用于對應(yīng)鏈接中沒有顯式文件名的情況。
3. 指定下載速率
wget --limit-rate
wget -limit-rate=200k url + filename
4. 斷點下載
wget -c完成未完成的下載
下載一半時可以停下來,ctrl+c停頓,繼續(xù)下載可以加入一個-c參數(shù)。
注意:如果不加入-c,那么下載的文件會多出一個.1的后綴。
5. 后臺下載
加上一個-b參數(shù)
wget -b url/filename
為后臺下載,下載經(jīng)過寫入到wget-log文件中。
用
tail -f wget-log
查看下載日志
6. 模擬在瀏覽器下下載
有的網(wǎng)站不允許客戶在非瀏覽器環(huán)境下下載。使用--user-agent來設(shè)置
wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" URL-TO-DOWNLOAD
7. 測試下載鏈接
方法:使用--spider
試圖做計劃下載時候,需要先檢查一下下載鏈接是否有效。
wget --spider DOWNLOAD-URL
如果返回OK,則表示下載鏈接是正確的
8、增加嘗試次數(shù)
方法:
--tries=1000
如果網(wǎng)速有問題,下載大文件的時候可能會發(fā)生錯誤,
默認(rèn)wget嘗試20次鏈接。
如果嘗試75次,可以
wget --tires=75 DOWNLOAD-URL
9、下載多個文件使用wget -i
將多個下載鏈接寫入到一個download-file-list.txt文件中,而后用
wget -i download-file-list.txt
10、下載整站
方法:用--mirror參數(shù)
當(dāng)你要下載一個完整站點并實現(xiàn)本地瀏覽的時候,
wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
參數(shù)講解:
--mirror:設(shè)置這個參數(shù)用來建立本地鏡像
-p:下載所有html文件適合顯示的元素
--convert-links:下載完成后,將文檔鏈接都轉(zhuǎn)換成本地的
-P ./LOCAL-DIR:保存所有的文件和目錄到指定文件夾下
11、下載時候禁止下載指定類型的文件
例如下載站點時候,不打算下載gif動畫圖片。
wget --reject=gif WEBSITE-TO-BE-DOWNLOADED
12、記錄下載日志
方法:使用小寫字母o
wget -o xx.html.log -O xx.html "http://ip138.com/ips.asp?ip=58.251.193.137action=2"
檢查一下日志:
[root@localhost opt]# cat xx.html.log
--2010-07-12 11:57:22-- http://ip138.com/ips.asp?ip=58.251.193.137action=2
正在解析主機 ip138.com... 221.5.47.136
Connecting to ip138.com|221.5.47.136|:80... 已連接。
已發(fā)出 HTTP 請求,正在等待回應(yīng)... 200 OK
長度:7817 (7.6K) [text/html]
Saving to: `xx.html'
0K ....... 100% 65.5K=0.1s
2010-07-12 11:57:22 (65.5 KB/s) - `xx.html' saved [7817/7817]
13、是第9條的增強版。可以限制下載容量
wget -Q5m -i FILE-WHICH-HAS-URLS
當(dāng)下載的文件達(dá)到5兆的時候,停止下載。
注意:如果不是對一個文件下載鏈接清單,對單個文件,這個限制不會生效的。
14、和第11條正好相反,
這條技巧是講述如何僅僅下載指定類型的文件
從一個網(wǎng)站中下載所有的pdf文件
wget -r -A.pdf http://url-to-webpage-with-pdfs/
15、使用wget完成ftp下載
匿名ftp下載類似于http下載
wget ftp-url
即可。
如果是需要輸入用戶名和密碼,則是
wget --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL