Curl是基于UNIX的系統(tǒng)中默認(rèn)安裝的工具,Curl支持多種協(xié)議蝠引,包括HTTP阳谍、HTTPS、FTP螃概、FTPS矫夯、SFTP等。如果你沒(méi)有指定任何協(xié)議吊洼,默認(rèn)是HTTP協(xié)議茧痒。
環(huán)境
Centos7.7
下載文件,使名稱(chēng)一致
可以使用curl下載文件的相同名稱(chēng)作為本地文件名融蹂。可以用-O選項(xiàng)弄企。
[root@localhost ~]# curl http://mirrors.163.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso
? % Total? ? % Received % Xferd? Average Speed? Time? ? Time? ? Time? Current
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Dload? Upload? Total? Spent? ? Left? Speed
? 0 7205M? ? 0 25.9M? ? 0? ? 0? 5452k? ? ? 0? 0:22:33? 0:00:04? 0:22:29 5452k
[root@localhost ~]# ls
CentOS-8.1.1911-x86_64-dvd1.iso
下載多個(gè)文件
要同時(shí)下載多個(gè)文件時(shí)超燃,可以使用多個(gè)-O標(biāo)志,后面跟著要url鏈接拘领。
[root@localhost ~]# curl -O [URL1] -O [URL2] -O [URL3] ...
例子:
[root@localhost ~]#? curl -O www.example.com/file.pdf -O www.example.com/file1.pdf
? % Total? ? % Received % Xferd? Average Speed? Time? ? Time? ? Time? Current
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Dload? Upload? Total? Spent? ? Left? Speed
100 20597? 100 20597? ? 0? ? 0? 1436k? ? ? 0 --:--:-- --:--:-- --:--:-- 1436k
100 20597? 100 20597? ? 0? ? 0? 9.8M? ? ? 0 --:--:-- --:--:-- --:--:--? 9.8M
如果url中文件帶有數(shù)字意乓,并且有順序,可以使用正則語(yǔ)法:
[root@localhost ~]# curl ftp://ftp.example.com/file[1-30].jpg
如果希望使用不同的名稱(chēng)保存多個(gè)文件,可以使用-o選項(xiàng)來(lái)實(shí)現(xiàn)届良,如下所示笆凌。
[root@localhost ~]# curl -o file2.pdf www.example.com/file.pdf -o file3.pdf www.example.com/file1.pdf
? % Total? ? % Received % Xferd? Average Speed? Time? ? Time? ? Time? Current
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Dload? Upload? Total? Spent? ? Left? Speed
100 20597? 100 20597? ? 0? ? 0? 957k? ? ? 0 --:--:-- --:--:-- --:--:--? 957k
100 20597? 100 20597? ? 0? ? 0? 19.6M? ? ? 0 --:--:-- --:--:-- --:--:-- 19.6M
下載文件顯示進(jìn)度條
curl在文件下載期間顯示一個(gè)進(jìn)度表,顯示傳輸速率士葫、傳輸?shù)臄?shù)據(jù)量乞而、剩余的時(shí)間等……
[root@localhost ~]# curl -# -O http://mirrors.163.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso
##? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.5%
如何限制最大傳輸速度
限制數(shù)據(jù)傳輸速率的用法為:
[root@localhost ~]# curl --limit-rate [value] [URL]
這個(gè)值可以用字節(jié)表示,k后綴為千字節(jié)慢显,m后綴為兆字節(jié)爪模,g后綴為千兆字節(jié)。
以下命令將把下載速度限制在1mb以?xún)?nèi):
[root@localhost ~]# curl --limit-rate 1m -O http://mirrors.163.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso
? % Total? ? % Received % Xferd? Average Speed? Time? ? Time? ? Time? Current
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Dload? Upload? Total? Spent? ? Left? Speed
? 0 7205M? ? 0 21.1M? ? 0? ? 0? 1033k? ? ? 0? 1:58:57? 0:00:20? 1:58:37 1005k
總結(jié)
curl提供了很多有用的技巧荚藻,比如代理支持屋灌、用戶(hù)身份驗(yàn)證、FTP上傳应狱、HTTP post共郭、SSL連接、cookie疾呻、文件傳輸恢復(fù)除嘹、Metalink等等。