智传网优云课堂,专注分享IT技术
与IT技术爱好者一起共同学习进步

Linux命令行下载工具之curl命令13个实用案例

1. 前言

curl是强大的网络协议传输工具,它支持http/https/ftp等协议,还支持POST、cookies、认证、断点续传、指定user-agent、限制下载速度和文件大小、传输进度条等等功能。

以CentOS7.5为例,最小化安装并不包含curl,需要额外安装:

[root@zcwyou ~]# yum -y install curl

linux安装下载工具curl

2. 上传下载

2.1 下载网页的文件,使用-O(大写)时,不需要指定文件名,把文件从远程服务器复制到本地。

[root@zcwyou ~]# curl -O http://linux.zcwyou.com/test.sh

linux使用curl下载文件

2.2 下载网页中的图片,使用-o(小写)时,需要指定文件名为01.png,相当于另存为

[root@zcwyou ~]# curl -o 01.png http://linux.zcwyou.com/01.png

2.3 使用--silent或者-s选项静默下载文件

[root@zcwyou ~]# curl -O  http://115.29.210.249/tggPic/content/2018-08/1533794530114.jpg --silent

或者

[root@zcwyou ~]# curl -O  http://115.29.210.249/tggPic/content/2018-08/1533794530114.jpg -s

2.4 断点续传文件使用选项大写C,-C后面加偏移量,以字节为单位的整数

[root@zcwyou ~]# curl -C 10 -O http://mirrors.163.com/tinycorelinux/9.x/x86/release/Core-current.iso 

2.5 下载大文件时,使用--progress或者-#显示传输进度

[root@zcwyou ~]# curl -O http://mirrors.163.com/tinycorelinux/9.x/x86/release/Core-current.iso --progress

或者

[root@zcwyou ~]# curl -# -O http://mirrors.163.com/tinycorelinux/9.x/x86/release/Core-current.iso 

2.6 通过代理服务器连接到某网站然后下载页面

[root@zcwyou ~]# curl -x 1.2.3.4:8080 -o zcwyou.html http://www.linuxrumen.com 

2.7 使用curl从FTP服务器下载文件:

[root@zcwyou ~]# curl -O -u 用户名:密码 ftp://www.linux.com/dodo1.JPG

或者

[root@zcwyou ~]# curl -O ftp://用户名:密码@www.linux.com/dodo1.JPG

2.8 使用curl上传文件到FTP服务器

[root@zcwyou ~]# curl -T zcwyou.txt -u 用户名:密码 ftp://www.linux.com/zcwyou.txt

或者

[root@zcwyou ~]# curl -T zcwyou.txt ftp://用户名:密码@www.linux.com/zcwyou.txt

2.9 下载限制带宽

参数:
--limit-rate
比如限制50k/s,单位为字节

[root@zcwyou ~]# curl -O  http://115.29.210.249/tggPic/content/2018-08/1533794530114.jpg -s --limit-rate 50k

2.10 限制要下载文件的大小

参数:
--max-filesize,单位bytes

[root@zcwyou ~]# curl -o index.html  http://www.qq.com/index.html --max-filesize 102400

3. 网页测试

3.1 获取网页代码,并打印到屏幕上

[root@zcwyou ~]# curl www.baidu.com

linux使用curl获取网页代码

3.2 获取网页状态码:

比如404,200等等,用于判断网页状态,特别适用于自动化脚本。

[root@zcwyou ~]# curl -o /dev/null -s -w %{http_code} www.qq.com

linux使用curl获取http状态码

3.3 指定user-agent访问某网页,即模拟某些浏览器。参数使用-A或者--user-agent

模拟Windows10,IE11浏览器

[root@zcwyou ~]# curl -A "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0)" http://linux.zcwyou.com/zcwyou.exe -O -#

模拟Windows10,Windows Edge浏览器

[root@zcwyou ~]# curl -A "Mozilla/5.0 (Windows; U; Windows NT 10.0; en-US) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" https://wordpress.org/latest.tar.gz -O -#

4. 总结

curl与wget是Linux系统里最常用的两个下载工具,功能非常强大,是Linux最常用的工具软件之一。

赞(0)
未经允许不得转载:Linux入门学习到精通 » Linux命令行下载工具之curl命令13个实用案例
分享到: 更多 (0)

学习QQ群:557371664

关注微信公众号自助视频学习

评论 抢沙发

评论前必须登录!