文章目录
- 1. 基础使用
- 2. 指定请求Header
- 3. 指定Http请求方法
- 4. 发送POST请求,添加请求体
- 5. 发送POST请求时,对请求体进行编码
- 6. 设置请求来源
- 7. 上传二进制文件
- 8. 构造URL查询字段
- 9. 新增请求头标头
- 10. 参数打印服务器响应的标头
- 11. 跳过SSL检测
- 12. 模拟慢网络环境,限制请求和响应带宽
- 13. 保存响应到文件
- 14. 保存响应到文件,但是以url最后部分当文件名
- 15. 设置服务器认证的用户名和密码
- 16. 输出整个通信过程,用于调试程序
- 17. 指定请求代理
最近由于需要频繁操作命令行,又需要频繁进行Web请求,所以需要学习一下 CURL 逻辑,它是常用的命令行工具,主要用来Web请求。CRUL就是Client©的URL的意思,由于不想天天Postman,所以对基本语法记录一下。
1. 基础使用
直接访问 https://www.toutiao.com
curl https://www.toutiao.com
2. 指定请求Header
-A
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://www.toutiao.com
如果为 -A ''
那么就是移除header,不发送任何header
3. 指定Http请求方法
-X
# 设置 POST 请求
curl -X POST https://www.toutiao.com
# 设置 GET 请求
curl -X GET https://www.toutiao.com
4. 发送POST请求,添加请求体
-d
curl -X POST -d "name=zhangsan&pwd=123" https://www.toutiao.com
5. 发送POST请求时,对请求体进行编码
–data-urlencode
curl -X POST --data-urlencode "content=how are you" https://www.toutiao.com
在content
中存在how are you
中存在空格,因此需要对请求体进行编码
6. 设置请求来源
-e
curl -x POST -e 'https://www.baidu.com?q=abc' https://www.toutiao.com
上面的命令是将Referer
标头设置为https://www.baidu.com?q=abc
7. 上传二进制文件
-F
curl -F "file=@movie.mp4" https://www.upload.com
以上命令将会自动在Http Header
中添加标头Content-Type:multipart/form-data
,然后将文件movie.mp4
作为file
字段上传
# 指定MIME 类型为 video/mp4, 否则使用默认类型 application/octet-stream
curl -F "file=@movie.mp4;type=video/mp4" https://www.upload.com
# 重命名上传文件名 文件名为 movie.mp4, 服务器新接收的名字为 new_movie.mp4
curl -F "file=@movie.mp4;filename=new_movie.mp4"
8. 构造URL查询字段
-G
有如下查询逻辑:https://www.target.com?query=123&limit=20
使用-G
可以如下:
# 如果去掉 -G 那么将会是 POST 请求
curl -G -d 'query=123' -d 'limit=20' https://www.target.com
9. 新增请求头标头
-H
curl -H 'sign=zjkad230hkda23' -H 'token=1hdaj23dhk23' https://www.target.com
10. 参数打印服务器响应的标头
-i
curl -i https://www.baidu.com
11. 跳过SSL检测
-k
curl -k https://www.target.com
12. 模拟慢网络环境,限制请求和响应带宽
–limit-rate
curl --limit-rate 300k https://www.baidu.com
13. 保存响应到文件
-o 【小写的o】
curl -o target.txt https://www.baidu.com
14. 保存响应到文件,但是以url最后部分当文件名
-O【大写的O】
curl -O https://www.baidu.com/static/1.img
那么保存的文件名为1.img
15. 设置服务器认证的用户名和密码
-u
curl -u 'admin:12345' https://www.target.com
16. 输出整个通信过程,用于调试程序
-v
curl -v https://www.target.com
17. 指定请求代理
-x 【小写的x】
curl -x https://www.baidu.com