Linux curl与wget 命令的区别和联系
??????? 當(dāng)想要直接通過 Linux 命令行下載文件,馬上就能想到兩個(gè)工具:wget 和 curl。它們有很多一樣的特征,可以很輕易的完成一些相同的任務(wù)。
?????? 雖然它們有一些相似的特征,但它們并不是完全一樣。這兩個(gè)程序適用與不同的場(chǎng)合,在特定場(chǎng)合下,都擁有各自的特性。
curl與wget相似之處:
?????? wget 和 cURL 都可以下載內(nèi)容。它們的核心就是這么設(shè)計(jì)的。它們都可以向互聯(lián)網(wǎng)發(fā)送請(qǐng)求并返回請(qǐng)求項(xiàng)。這可以是文件、圖片或者是其他諸如網(wǎng)站的原始 HTML 之類。
?????? 這兩個(gè)程序都可以進(jìn)行 HTTP POST 請(qǐng)求。這意味著它們都可以向網(wǎng)站發(fā)送數(shù)據(jù),比如說填充表單什么的。
?????? 由于這兩者都是命令行工具,它們都被設(shè)計(jì)成可腳本化。wget 和 cURL 都可以寫進(jìn)你的 Bash 腳本 ,自動(dòng)與新內(nèi)容交互,下載所需內(nèi)容。
curl的優(yōu)勢(shì):
cURL是一個(gè)多功能工具。當(dāng)然,它可以下載網(wǎng)絡(luò)內(nèi)容,但同時(shí)它也能做更多別的事情。
cURL 技術(shù)支持庫是:libcurl。這就意味著你可以基于 cURL 編寫整個(gè)程序,允許你基于 libcurl 庫中編寫圖形環(huán)境的下載程序,訪問它所有的功能。
cURL 寬泛的網(wǎng)絡(luò)協(xié)議支持可能是其最大的賣點(diǎn)。cURL 支持訪問 HTTP 和 HTTPS 協(xié)議,能夠處理 FTP 傳輸。它支持 LDAP 協(xié)議,甚至支持 Samba 分享。實(shí)際上,你還可以用 cURL 收發(fā)郵件。
cURL 也有一些簡(jiǎn)潔的安全特性。cURL 支持安裝許多 SSL/TLS 庫,也支持通過網(wǎng)絡(luò)代理訪問,包括 SOCKS。這意味著,你可以越過 Tor 來使用cURL。
cURL 同樣支持讓數(shù)據(jù)發(fā)送變得更容易的 gzip 壓縮技術(shù)。
wget的優(yōu)勢(shì):
wget 簡(jiǎn)單直接。這意味著你能享受它超凡的下載速度。wget 是一個(gè)獨(dú)立的程序,無需額外的資源庫,更不會(huì)做其范疇之外的事情。
wget 是專業(yè)的直接下載程序,支持遞歸下載。同時(shí),它也允許你下載網(wǎng)頁中或是 FTP 目錄中的任何內(nèi)容。
wget 擁有智能的默認(rèn)設(shè)置。它規(guī)定了很多在常規(guī)瀏覽器里的事物處理方式,比如 cookies 和重定向,這都不需要額外的配置。可以說,wget 簡(jiǎn)直就是無需說明,開罐即食!
總結(jié):
??????? 那你應(yīng)該使用 cURL 還是使用 wget?這個(gè)比較得看實(shí)際用途。如果你想快速下載并且沒有擔(dān)心參數(shù)標(biāo)識(shí)的需求,那你應(yīng)該使用輕便有效的 wget。如果你想做一些更復(fù)雜的使用,直覺告訴你,你應(yīng)該選擇 cRUL。
cURL 支持你做很多事情。你可以把 cURL 想象成一個(gè)精簡(jiǎn)的命令行網(wǎng)頁瀏覽器。它支持幾乎你能想到的所有協(xié)議,可以交互訪問幾乎所有在線內(nèi)容。唯一和瀏覽器不同的是,cURL 不會(huì)渲染接收到的相應(yīng)信息。
轉(zhuǎn)自:https://linux.cn/article-9330-1.html
————————————————————分界線——————————————————
?????? wget是個(gè)專職的下載利器,簡(jiǎn)單,專一,極致;而curl可以下載,但是長(zhǎng)項(xiàng)不在于下載,而在于模擬提交web數(shù)據(jù),POST/GET請(qǐng)求,調(diào)試網(wǎng)頁,等等。
??????? 在下載上,也各有所長(zhǎng),wget可以遞歸,支持?jǐn)帱c(diǎn);而curl支持URL中加入變量,因此可以批量下載。
curl(文件傳輸工具)
常用參數(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
wget(文件下載工具)
常用參數(shù)如下:
1、 啟動(dòng)參數(shù)
-V,–version:顯示版本號(hào)
-h,–help:查看幫助
-b,–background:啟動(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來下載
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)分割不被下載域的列表
轉(zhuǎn)自:https://jingyan.baidu.com/article/eb9f7b6d63f092869264e856.html
總結(jié)
以上是生活随笔為你收集整理的Linux curl与wget 命令的区别和联系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 明起施行!天津电动车将禁止进入电梯:违者
- 下一篇: linux 其他常用命令