1. 前言
curl是强大的网络协议传输工具,它支持http/https/ftp等协议,还支持POST、cookies、认证、断点续传、指定user-agent、限制下载速度和文件大小、传输进度条等等功能。
以CentOS7.5为例,最小化安装并不包含curl,需要额外安装:
[root@zcwyou ~]# yum -y install curl
2. 上传下载
2.1 下载网页的文件,使用-O(大写)时,不需要指定文件名,把文件从远程服务器复制到本地。
[root@zcwyou ~]# curl -O http://linux.zcwyou.com/test.sh
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
3.2 获取网页状态码:
比如404,200等等,用于判断网页状态,特别适用于自动化脚本。
[root@zcwyou ~]# curl -o /dev/null -s -w %{http_code} www.qq.com
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最常用的工具软件之一。
评论前必须登录!
注册