1、語法:
wget ftp://[user_name]:[password]@host_ip/[path]
2、以下為WGET常用的參數和命令。
- 下載文件:
- 使用wget 命令直接下載cmdl32.exe文件, 指定用戶名和密碼為xiaoxin和123456
-
wget ftp://xiaoxin:123456@10.10.17.193:9999/中國/鄭州/cmdl32.exe
- 下載目錄1(常用):
- 使用wget命令下載ftp工作報表目錄下的所有文件和目錄,並下載到當前目錄下:
-
wget ftp://xiaoxin:123456@10.10.17.193:9999/中國/鄭州/工作報表/*
- 下載目錄2(遞歸下載):
- 參數:
- -r:是下些目錄, 作用與上面的命令類似, 但不同之處在於:直接使用 -r會在當前止錄下面生成以目標IP地址命名的文件夾;會下載指定目錄下的所有文件,包括一些外鏈文件都會下載,所以可以配置 -l 參數使用
- -l : --level=數字 最大遞歸深度 (inf 或 0 代表無限制,即全部下載)。
- -c :表示使用斷點續傳功能。在網絡狀況不佳的情況下很實用。
-
wget -r ftp://xiaoxin:123456@10.10.17.193:9999/中國/鄭州/工作報表/ wget -r -c ftp://xiaoxin:123456@10.10.17.193:9999/中國/鄭州/工作報表/
- 參數:
- 下載目錄3(不創建目錄):
- 參數:
-
-nd, --no-directories 不創建目錄
-
- 假設當前目錄為:home/work/result
- 執行:
wget -r -c -nd ftp://admin:123456@192.168.11.23/result/*
- 執行完畢,目錄樹:
/home/work/result/:
├── user_info
└── shangpu_info
- 參數:
- 批量下載:
- 參數:
- -i:指定批量下載文件(eg:down.txt)
- -t:重試次數
- -w:失敗時等待時長
- -o:指定log文件(將下載提示轉存到down.log文件中)
- 注意:down.txt,文件內容應是完整的URL(eg:ftp://xiaoxin:1@10.10.17.193:9999/中國/鄭州/工作報表/xx.doc)
-
# 直接使用down.txt中指定的URL時行下載,可以批量下載不同的文件,很方便,不用人一直參與
wget -i down.txt # 多以以下形式出現 wget -t 0 -w 31 -i down.txt
# 下載down.txt 中指定的URL進行下載,並將下載提示轉存到down.log文件中
wget -i down.txt -o down.log
- 參數:
3、常用參數匯總:
GNU Wget 1.17.1,非交互式的網絡文件下載工具。 用法: 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 -F, --force-html 把輸入文件當成 HTML 文件 -B, --base=URL 解析相對於 URL 的 HTML 輸入文件鏈接 (-i -F) --config=文件 指定要使用的配置文件 --no-cookies 不讀取任何配置文件 --rejected-log=文件 將拒絕 URL 的原因寫入 <文件>。 下載: -t, --tries=數字 設置重試次數為 <數字> (0 代表無限制) --retry-connrefused 即使拒絕連接也是重試 -O, --output-document=文件 將文檔寫入 FILE -nc, --no-clobber 不要下載已存在將被覆蓋的文件 -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 提示輸入密碼 --no-iri 關閉 IRI 支持 --local-encoding=ENC 使用 ENC 作為 IRI (國際化資源標識符) 的本地編碼 --remote-encoding=ENC 使用 ENC 作為默認遠程編碼 --unlink 覆蓋前移除文件 目錄: -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=字符串 在頭部插入 <字符串> --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、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 證書的文件。 --random-file=文件 用於初始化 SSL 偽隨機數生成器(PRNG)的文件, 應含有隨機數據 --egd-file=文件 用於命名帶有隨機數據的 EGD 套接字的文件。 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 不追溯至父目錄