Linux使用curl訪問網(wǎng)頁和wget下載文件
一:curl(網(wǎng)頁訪問,文件傳輸工具)
curl可以下載,但是長項不在于下載,而在于模擬提交web數(shù)據(jù),POST/GET請求,調(diào)試網(wǎng)頁,等等。curl支持URL中加入變量,因此可以批量下載。;
使用curl 來跟網(wǎng)站的API 交互,簡便清晰。
1、安裝
1.安裝:
sudo apt install curl
2.查看是否成功:
curl --version
2、常用參數(shù)
- -c,–cookie-jar:將cookie寫入到文件
- -b,–cookie:從文件中讀取cookie
- -C,–continue-at:斷點續(xù)傳
- -d,–data:http post方式傳送數(shù)據(jù)
- -D,–dump-header:把header信息寫入到文件
- -F,–from:模擬http表達提交數(shù)據(jù)
- -s,–slient:減少輸出信息
- -o,–output:將信息輸出到文件
- -O,–remote-name:按照服務(wù)器上的文件名,存在本地
- –l,–head:僅返回頭部信息
- -u,–user[user:pass]:設(shè)置http認證用戶和密碼
- -T,–upload-file:上傳文件
- -e,–referer:指定引用地址
- -x,–proxy:指定代理服務(wù)器地址和端口
- -w,–write-out:輸出指定格式內(nèi)容
- –retry:重試次數(shù)
- –connect-timeout:指定嘗試連接的最大時間/s
3、使用示例
1、查看某網(wǎng)頁(該方法大部分用來測試服務(wù)器是否能到達另一個網(wǎng)站):curl [URL]
curl http://www.baidu.com
2、訪問HTTP認證頁面
curl –u user:pass URL
3、 重定向保存: curl [URL] >> [你的命名]
curl http://www.baidu.com >> baidu.html
4、下載網(wǎng)頁: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)頁中具體某個文件: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、斷點續(xù)傳:curl -C -O [URL]
curl -C -O http://www.linux.com/dodo1.JPG
12、通過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(用于文件下載,在安裝軟件時會經(jīng)常用到。)
wget是個專職的下載利器,簡單,專一,極致;
wget可以遞歸,支持斷點。加 -c選項不怕斷網(wǎng)
1、安裝
1.安裝wget:
sudo apt install wget
2.查看是否成功:
wget --version
3、用法:wget [OPTION]... [URL]...
2、常用參數(shù)
1 啟動參數(shù)
- -V,–version:顯示版本號
- -h,–help:查看幫助
- -b,–background:啟動后轉(zhuǎn)入后臺執(zhí)行
2 日志記錄和輸入文件參數(shù)
- -o,–output-file=file:把記錄寫到file文件中
- -a,–append-output=file:把記錄追加到file文件中
- -i,–input-file=file:從file讀取url來下載
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)超時時間
- -w,-wait=sec:兩次嘗試之間間隔時間
- –limit-rate=rate:限制下載速率
- -progress=type:設(shè)置進度條
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活動鏈接,變成永久鏈接
- -cookies=off:不使用cookies
- -load-cookies=file:在開始會話前從file文件加載cookies
- -save-cookies=file:在會話結(jié)束將cookies保存到file文件
6 FTP參數(shù)
- -passive-ftp:默認值,使用被動模式
- -active-ftp:使用主動模式
7 遞歸下載排除參數(shù)
- -A,–accept=list:分號分割被下載擴展名的列表
- -R,–reject=list:分號分割不被下載擴展名的列表
- -D,–domains=list:分號分割被下載域的列表
- –exclude-domains=list:分號分割不被下載域的列表
3、使用示例:
1、使用wget下載單個文件 :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斷點續(xù)傳:wget -c [上次下載的URL]
wget -c http://cn2.php.net/distributions/php-5.6.13.tar.gz
4、使用wget后臺下載 :wget -b [URL]
wget -b http://cn2.php.net/distributions/php-5.6.13.tar.gz tail -f wget-log #查看文件下載進度
5、使用wget下載到指定目錄:wget [URL] -P [存儲地址]
wget http://cn2.php.net/distributions/php-5.6.13.tar.gz -P Download/
6、使用wget用戶名和密碼認證下載,登陸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、自動從多個鏈接下載文件
cat url_list.txt #先創(chuàng)建一個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由于可自定義各種請求參數(shù)所以在模擬web請求方面更擅長;wget由于支持ftp和Recursive所以在下載文件方面更擅長。類比的話curl是瀏覽器,而wget是迅雷9。
1.下載文件
curl -O http://man.linuxde.net/text.iso #O大寫,不用O只是打印內(nèi)容不會下載 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.斷點續(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ǎng)頁和wget下載文件的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Shell實現(xiàn)日期的獲取、設(shè)置和延時操作
本文主要介紹了Shell實現(xiàn)日期的獲取、設(shè)置和延時操作,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Linux?自動化構(gòu)建工具make/Makefile的使用詳解
這篇文章主要介紹了Linux?自動化構(gòu)建工具?make/Makefile,要如何編譯.c文件,關(guān)鍵就在于Makefile是怎么寫的,下面我們主要介紹這兩者的使用,需要的朋友可以參考下2022-04-04