Linux - Wget 用法介紹
wget 是多數 linux 預設都會安裝的檔案下載工具
可以支援各種檔案下載及執行
底下做一些基本介紹:
下載檔案
單純下載檔案到當下目錄
wget http://myexample.com/file/tar.gz
也可以用 ftp 協定
wget ftp://myftpsite.data.gz
一次下載多個檔案
wget http://file.com/file.gz http://file2.com/file2.gz
實用參數選項
wget 有底下幾個實用的功能選項可以使用
-c 檔案續傳,可以在下載大型檔案時使用
-i 一次下載
-b 背景下載,當執行的下載大型檔案,可以指定背景下載
--limit-rate 限制下載速度,例如 --limmit-rate=80k 即可限制下載速度80kb/s
--tries=n 重新嘗試次數,例如 --tries=30 失敗會重複嘗試,最多30次
將下載的檔案儲存在硬碟,並指定檔名
使用 -O 參數
wget http://mysite.com/file.gz -O mylocalfilename.gz
需要帳號與密碼的情況
如果是 FTP 或Http server 需要輸入帳密才能下載,可以用以下方式
wget --http-user=使用者名稱 --http-password=密碼 ftp://mysite.com/file.gz
限制下載檔案大小
當我們下載多個檔案時,可以設定要下載的上限 用 -Q 以及指定要限定的量,例如,限制 30 Mb
wget -Q30m -i http://myfile.file.gz
進階用法
user-agent 偽裝瀏覽器身份:
在直接使用 wget 訪問下載檔案時,會在 server 留下 wget 紀錄
ip_address - - [日期時間] “GET /file.gz HTTP/1.1" 200 5289 "-" "Wget/1.14 (linux-gnu)"
可以夾帶一些瀏覽器資訊,模擬成瀏覽器的訪問,例如:
wget https://myfile.com/file.gz --user-agent="Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko"
獲得的訪問結果會類似這樣
IP - - [日期時間] "GET /file.gz HTTP/1.1" 200 5289 "-" "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko"
模擬 spider 搜尋引擎蜘蛛
wget --spider http://myfile.com/file.gz
全站下載(砍站)mirror
透過 mirror 可以將整個網站下載下來
並且有以下參數可使用
-p: 顯示下載的檔案
–convert-links:自動偵測頁面中的超連結,轉換為本地的連結
-P 本地目錄位置:下載檔案要放在本地的位置
wget --mirror -p --convert-links -P ./local_folder http://myfile.com/
遞迴下載及指定下載特定類型的檔案
-r 可以執行遞迴下載
-A 可以指定下載檔案的類型
例如,下載全站的 pdf 資料
wget -r -A.pdf http://myfile.com/
指定 Proxy 代理伺服
設定代理伺服 proxy 有兩種方式
第一種是直接設定 ~/.wgetrc
use_proxy=yes
http_proxy=http://proxy.mysite.com:port/
也可以直接在wget 觸發時直接透過 -e 指定
wget -e use_proxy=yes -e http_proxy=http://proxy.mysite.com:port/ http://file.com/file.gz
可供設定的選項有以下幾種
http_proxy
https_proxy
ftp_proxy