Linux使用curl訪問(wèn)網(wǎng)頁(yè)和wget下載文件
一:curl(網(wǎng)頁(yè)訪問(wèn),文件傳輸工具)
curl可以下載,但是長(zhǎng)項(xiàng)不在于下載,而在于模擬提交web數(shù)據(jù),POST/GET請(qǐng)求,調(diào)試網(wǎng)頁(yè),等等。curl支持URL中加入變量,因此可以批量下載。;
使用curl 來(lái)跟網(wǎng)站的API 交互,簡(jiǎn)便清晰。
1、安裝
1.安裝:
sudo apt install curl
2.查看是否成功:
curl --version
2、常用參數(shù)
- -c,–cookie-jar:將cookie寫入到文件
- -b,–cookie:從文件中讀取cookie
- -C,–continue-at:斷點(diǎn)續(xù)傳
- -d,–data:http post方式傳送數(shù)據(jù)
- -D,–dump-header:把header信息寫入到文件
- -F,–from:模擬http表達(dá)提交數(shù)據(jù)
- -s,–slient:減少輸出信息
- -o,–output:將信息輸出到文件
- -O,–remote-name:按照服務(wù)器上的文件名,存在本地
- –l,–head:僅返回頭部信息
- -u,–user[user:pass]:設(shè)置http認(rèn)證用戶和密碼
- -T,–upload-file:上傳文件
- -e,–referer:指定引用地址
- -x,–proxy:指定代理服務(wù)器地址和端口
- -w,–write-out:輸出指定格式內(nèi)容
- –retry:重試次數(shù)
- –connect-timeout:指定嘗試連接的最大時(shí)間/s
3、使用示例
1、查看某網(wǎng)頁(yè)(該方法大部分用來(lái)測(cè)試服務(wù)器是否能到達(dá)另一個(gè)網(wǎng)站):curl [URL]
curl http://www.baidu.com
2、訪問(wèn)HTTP認(rèn)證頁(yè)面
curl –u user:pass URL
3、 重定向保存: curl [URL] >> [你的命名]
curl http://www.baidu.com >> baidu.html
4、下載網(wǎng)頁(yè):curl -o [你的命名] [URL] ,如果有亂碼可以使用iconv轉(zhuǎn)碼
curl -o baidu.html www.baidu.com curl –s –o baidu.html www.baidu.com |iconv -f utf-8 #減少輸出信息
5、下載網(wǎng)頁(yè)中具體某個(gè)文件:curl -O [URL]:
curl -O http://www.baidu.com/a7.png
6、指定proxy服務(wù)器以及其端口:curl -x [ip:端口] [URL]
curl -x 192.168.0.1:1080 http://www.baidu.com
7、模擬用戶登陸,保存cookie信息到cookies.txt文件,再使用cookie登陸
curl -c ./cookies.txt -F NAME=user -F PWD=***URL curl -b ./cookies.txt –o URL
8、獲取和保存HTTP響應(yīng)頭headers:curl -D [保存格式] [URL]
curl -I http://www.baidu.com curl -D ./header.txt http://www.baidu.com #將headers保存到文件中
9、模仿瀏覽器:curl -A [UA] [URL]
curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" http://www.baidu.com
10、斷點(diǎn)續(xù)傳:curl -C -O [URL]
curl -C -O http://www.linux.com/dodo1.JPG
12、通過(guò)ftp上傳和下載文件:curl -T [文件] -u username:password ftp:[URL] :
curl -T filename ftp://user:pass@ip/docs #上傳 curl -T dodo1.JPG -u 用戶名:密碼 ftp://www.linux.com/img/ #上傳 curl -O ftp://user:pass@ip/filename #下載
二:wget(用于文件下載,在安裝軟件時(shí)會(huì)經(jīng)常用到。)
wget是個(gè)專職的下載利器,簡(jiǎn)單,專一,極致;
wget可以遞歸,支持?jǐn)帱c(diǎn)。加 -c選項(xiàng)不怕斷網(wǎng)
1、安裝
1.安裝wget:
sudo apt install wget
2.查看是否成功:
wget --version
3、用法:wget [OPTION]... [URL]...
2、常用參數(shù)
1 啟動(dòng)參數(shù)
- -V,–version:顯示版本號(hào)
- -h,–help:查看幫助
- -b,–background:?jiǎn)?dòng)后轉(zhuǎn)入后臺(tái)執(zhí)行
2 日志記錄和輸入文件參數(shù)
- -o,–output-file=file:把記錄寫到file文件中
- -a,–append-output=file:把記錄追加到file文件中
- -i,–input-file=file:從file讀取url來(lái)下載
3 下載參數(shù)
- -bind-address=address:指定本地使用地址
- -t,-tries=number:設(shè)置最大嘗試連接次數(shù)
- -c,-continue:接著下載沒有下載完的文件
- -O,-output-document=file:將下載內(nèi)容寫入到file文件中
- -spider:不下載文件
- -T,-timeout=sec:設(shè)置響應(yīng)超時(shí)時(shí)間
- -w,-wait=sec:兩次嘗試之間間隔時(shí)間
- –limit-rate=rate:限制下載速率
- -progress=type:設(shè)置進(jìn)度條
4 目錄參數(shù)
- -P,-directory-prefix=prefix:將文件保存到指定目錄
5 HTTP參數(shù)
- -http-user=user:設(shè)置http用戶名
- -http-passwd=pass:設(shè)置http密碼
- -U,–user-agent=agent:偽裝代理
- -no-http-keep-alive:關(guān)閉http活動(dòng)鏈接,變成永久鏈接
- -cookies=off:不使用cookies
- -load-cookies=file:在開始會(huì)話前從file文件加載cookies
- -save-cookies=file:在會(huì)話結(jié)束將cookies保存到file文件
6 FTP參數(shù)
- -passive-ftp:默認(rèn)值,使用被動(dòng)模式
- -active-ftp:使用主動(dòng)模式
7 遞歸下載排除參數(shù)
- -A,–accept=list:分號(hào)分割被下載擴(kuò)展名的列表
- -R,–reject=list:分號(hào)分割不被下載擴(kuò)展名的列表
- -D,–domains=list:分號(hào)分割被下載域的列表
- –exclude-domains=list:分號(hào)分割不被下載域的列表
3、使用示例:
1、使用wget下載單個(gè)文件 :wget [URL]
wget http://cn2.php.net/distributions/php-5.6.13.tar.gz
2、下載并以不同的文件名保存 :wget -o [你的命名] [URL]
wget -o php5.6.tar.gz http://cn2.php.net/distributions/php-5.6.13.tar.gz
3、使用wget斷點(diǎn)續(xù)傳:wget -c [上次下載的URL]
wget -c http://cn2.php.net/distributions/php-5.6.13.tar.gz
4、使用wget后臺(tái)下載 :wget -b [URL]
wget -b http://cn2.php.net/distributions/php-5.6.13.tar.gz tail -f wget-log #查看文件下載進(jìn)度
5、使用wget下載到指定目錄:wget [URL] -P [存儲(chǔ)地址]
wget http://cn2.php.net/distributions/php-5.6.13.tar.gz -P Download/
6、使用wget用戶名和密碼認(rèn)證下載,登陸ftp下載文件:
wget --ftp-user=USERNAME --ftp-password=PASSWORD ftp://ip/filenam
7、可以利用—spider參數(shù)判斷網(wǎng)址是否有效
wget –spider http://nginx.org/download/nginx-1.8.0.tar.gz
8、自動(dòng)從多個(gè)鏈接下載文件
cat url_list.txt #先創(chuàng)建一個(gè)URL文件 http://nginx.org/download/nginx-1.8.0.tar.gz http://nginx.org/download/nginx-1.6.3.tar.gz wget -i url_list.txt
三:區(qū)別
curl由于可自定義各種請(qǐng)求參數(shù)所以在模擬web請(qǐng)求方面更擅長(zhǎng);wget由于支持ftp和Recursive所以在下載文件方面更擅長(zhǎng)。類比的話curl是瀏覽器,而wget是迅雷9。
1.下載文件
curl -O http://man.linuxde.net/text.iso #O大寫,不用O只是打印內(nèi)容不會(huì)下載 wget http://www.linuxde.net/text.iso #不用參數(shù),直接下載文件
2.下載文件并重命名
curl -o rename.iso http://man.linuxde.net/text.iso #o小寫 wget -O rename.zip http://www.linuxde.net/text.iso #O大寫
3.斷點(diǎn)續(xù)傳
curl -O -C -URL http://man.linuxde.net/text.iso #C大 wget -c http://www.linuxde.net/text.iso #c小寫
4.限速下載
curl --limit-rate 50k -O http://man.linuxde.net/text.iso wget --limit-rate=50k http://www.linuxde.net/text.iso
5.顯示響應(yīng)頭部信息
curl -I http://man.linuxde.net/text.iso wget --server-response http://www.linuxde.net/test.iso
6.wget利器--打包下載網(wǎng)站
wget --mirror -p --convert-links -P /var/www/html http://man.linuxde.net/
到此這篇關(guān)于Linux使用curl命令訪問(wèn)網(wǎng)頁(yè)和wget下載文件的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Shell腳本中計(jì)算字符串長(zhǎng)度的5種方法
這篇文章主要介紹了Shell腳本中計(jì)算字符串長(zhǎng)度的5種方法,來(lái)自于個(gè)人Shell腳本長(zhǎng)期的開發(fā)經(jīng)驗(yàn),需要的朋友可以參考下2014-06-06Shell實(shí)現(xiàn)日期的獲取、設(shè)置和延時(shí)操作
本文主要介紹了Shell實(shí)現(xiàn)日期的獲取、設(shè)置和延時(shí)操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Shell獲取當(dāng)前正在執(zhí)行腳本的絕對(duì)路徑
本文主要介紹了Shell獲取當(dāng)前正在執(zhí)行腳本的絕對(duì)路徑,主要有三種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09Linux?自動(dòng)化構(gòu)建工具make/Makefile的使用詳解
這篇文章主要介紹了Linux?自動(dòng)化構(gòu)建工具?make/Makefile,要如何編譯.c文件,關(guān)鍵就在于Makefile是怎么寫的,下面我們主要介紹這兩者的使用,需要的朋友可以參考下2022-04-04