Linux curl与wget 命令的区别和联系
??????? 當想要直接通過 Linux 命令行下載文件,馬上就能想到兩個工具:wget 和 curl。它們有很多一樣的特征,可以很輕易的完成一些相同的任務。
?????? 雖然它們有一些相似的特征,但它們并不是完全一樣。這兩個程序適用與不同的場合,在特定場合下,都擁有各自的特性。
curl與wget相似之處:
?????? wget 和 cURL 都可以下載內容。它們的核心就是這么設計的。它們都可以向互聯(lián)網發(fā)送請求并返回請求項。這可以是文件、圖片或者是其他諸如網站的原始 HTML 之類。
?????? 這兩個程序都可以進行 HTTP POST 請求。這意味著它們都可以向網站發(fā)送數(shù)據(jù),比如說填充表單什么的。
?????? 由于這兩者都是命令行工具,它們都被設計成可腳本化。wget 和 cURL 都可以寫進你的 Bash 腳本 ,自動與新內容交互,下載所需內容。
curl的優(yōu)勢:
cURL是一個多功能工具。當然,它可以下載網絡內容,但同時它也能做更多別的事情。
cURL 技術支持庫是:libcurl。這就意味著你可以基于 cURL 編寫整個程序,允許你基于 libcurl 庫中編寫圖形環(huán)境的下載程序,訪問它所有的功能。
cURL 寬泛的網絡協(xié)議支持可能是其最大的賣點。cURL 支持訪問 HTTP 和 HTTPS 協(xié)議,能夠處理 FTP 傳輸。它支持 LDAP 協(xié)議,甚至支持 Samba 分享。實際上,你還可以用 cURL 收發(fā)郵件。
cURL 也有一些簡潔的安全特性。cURL 支持安裝許多 SSL/TLS 庫,也支持通過網絡代理訪問,包括 SOCKS。這意味著,你可以越過 Tor 來使用cURL。
cURL 同樣支持讓數(shù)據(jù)發(fā)送變得更容易的 gzip 壓縮技術。
wget的優(yōu)勢:
wget 簡單直接。這意味著你能享受它超凡的下載速度。wget 是一個獨立的程序,無需額外的資源庫,更不會做其范疇之外的事情。
wget 是專業(yè)的直接下載程序,支持遞歸下載。同時,它也允許你下載網頁中或是 FTP 目錄中的任何內容。
wget 擁有智能的默認設置。它規(guī)定了很多在常規(guī)瀏覽器里的事物處理方式,比如 cookies 和重定向,這都不需要額外的配置。可以說,wget 簡直就是無需說明,開罐即食!
總結:
??????? 那你應該使用 cURL 還是使用 wget?這個比較得看實際用途。如果你想快速下載并且沒有擔心參數(shù)標識的需求,那你應該使用輕便有效的 wget。如果你想做一些更復雜的使用,直覺告訴你,你應該選擇 cRUL。
cURL 支持你做很多事情。你可以把 cURL 想象成一個精簡的命令行網頁瀏覽器。它支持幾乎你能想到的所有協(xié)議,可以交互訪問幾乎所有在線內容。唯一和瀏覽器不同的是,cURL 不會渲染接收到的相應信息。
轉自:https://linux.cn/article-9330-1.html
————————————————————分界線——————————————————
?????? wget是個專職的下載利器,簡單,專一,極致;而curl可以下載,但是長項不在于下載,而在于模擬提交web數(shù)據(jù),POST/GET請求,調試網頁,等等。
??????? 在下載上,也各有所長,wget可以遞歸,支持斷點;而curl支持URL中加入變量,因此可以批量下載。
curl(文件傳輸工具)
常用參數(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:按照服務器上的文件名,存在本地
–l,–head:僅返回頭部信息
-u,–user[user:pass]:設置http認證用戶和密碼
-T,–upload-file:上傳文件
-e,–referer:指定引用地址
-x,–proxy:指定代理服務器地址和端口
-w,–write-out:輸出指定格式內容
–retry:重試次數(shù)
–connect-timeout:指定嘗試連接的最大時間/s
wget(文件下載工具)
常用參數(shù)如下:
1、 啟動參數(shù)
-V,–version:顯示版本號
-h,–help:查看幫助
-b,–background:啟動后轉入后臺執(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ù)
-c,-continue:接著下載沒有下載完的文件
-O,-output-document=file:將下載內容寫入到file文件中
-spider:不下載文件
-T,-timeout=sec:設置響應超時時間
-w,-wait=sec:兩次嘗試之間間隔時間
–limit-rate=rate:限制下載速率
-progress=type:設置進度條
4、目錄參數(shù)
-P,-directory-prefix=prefix:將文件保存到指定目錄
5、 HTTP參數(shù)
-http-user=user:設置http用戶名
-http-passwd=pass:設置http密碼
-U,–user-agent=agent:偽裝代理
-no-http-keep-alive:關閉http活動鏈接,變成永久鏈接
-cookies=off:不使用cookies
-load-cookies=file:在開始會話前從file文件加載cookies
-save-cookies=file:在會話結束將cookies保存到file文件
6、 FTP參數(shù)
-passive-ftp:默認值,使用被動模式
-active-ftp:使用主動模式
7、 遞歸下載排除參數(shù)
-A,–accept=list:分號分割被下載擴展名的列表
-R,–reject=list:分號分割不被下載擴展名的列表
-D,–domains=list:分號分割被下載域的列表
–exclude-domains=list:分號分割不被下載域的列表
轉自:https://jingyan.baidu.com/article/eb9f7b6d63f092869264e856.html
總結
以上是生活随笔為你收集整理的Linux curl与wget 命令的区别和联系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 明起施行!天津电动车将禁止进入电梯:违者
- 下一篇: 不止砍掉UFS 4.0:三星Galaxy