Linux命令:curl

Lasted 2019-12-12 17:36:14

curl是一个常用于传输数据的命令,支持文件上传和下载,最常用的是作为文件下载工具。

支持的通行协议有:HTTPHTTPSFTPSCPSMTP等。

1. 向服务器发送GET请求

通过get请求,查看 https://docsxyz.com 页面中的内容

curl https://docsxyz.com

2. 保存网络文件

查看 https://docsxyz.com 页面中的内容

curl https://docsxyz.com -o index.html

 3. 查看curl版本号

查看系统中当前curl版本号,同时能查看支持的网络协议

curl -V

curl --version

 4. 设置cookies

访问网络文件并设置 cookies

curl https://docsxyz.com -b "user=u;pass=ss"

#设置多个cookies
curl -b 'foo1=bar' -b 'foo2=baz' https://docsxyz.com

#使用本地文件cookies.txt
curl -b cookies.txt https://docsxyz.com

 5. 发送POST请求

向服务器发送POST请求,并传参数

curl -d'login=emma&password=123'-X POST https://docsxyz.com

#或者
curl -d 'login=emma' -d 'password=123' -X POST https://docsxyz.com

#读取本地文件发送请求
curl -d '@data.txt' https://docsxyz.com

6. 设置User-Agent

指定客户端的用户代理,模拟Chrome 浏览器访问

curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' https://docsxyz.com

 7. 设置Referer

设置http头Referer,表示请求的来源

curl -e 'https://docsxyz.com' https://docsxyz.com

 8. 上传文件

上传本地文件file.png到服务器

curl -F 'file=@file.png' https://baidu.com

#指定 MIME 类型
curl -F 'file=@file.png;type=image/png' https://baidu.com

#指定文件名
curl -F 'file=@file.png;filename=file.png' https://baidu.com