前言
curl
是一个命令行下工作的文件传输工具, 支持网络请求和文件的上传下载, 非常强大, 很多操作系统默认安装了curl
, 比如macOS
,Windows
, Linux
等
当我们在使用无界面的操作系统时, 如果想要模拟网络请求, 此时没有浏览器也没有Postman
, 那么curl
这个工具就能派上大用场
网络请求
GET请求
1
curl -X GET http://baidu.com
curl
默认是GET
请求, 所以可以简写成:1
curl http://baidu.com
POST请求
1
curl -X POST http://baidu.com
同理, 如果是
PUT, DELETE
请求, 只需修改-X
后面的参数即可指定请求头
使用
-H
指令, 注意大小写:1
curl -X POST -H "Accept:*/*" http://baidu.con
如果需要指定多个请求头, 那么需要填多次
-H
指令, 如:1
curl -X POST -H "Accept:*/*" -H "Content-Type:multipart/form-data" http://baidu.com
请求时携带请求参数
使用
-d
指令, 注意大小写:1
curl -X POST -d "password=11111111&username=3333" http://baidu.con
默认是以
Content-Type:application/x-www-form-urlencoded
的形式对参数进行编码如果我们需要携带
json
格式的数据, 那么我们指定相应请求头即可, 如下:1
curl -X POST -H "Content-Type:application/json" -d '{"content":"发送一条消息"}' http://baidu.con
文件上传
修改
Content-Type
为multipart/form-data
, 使用-F
指令指定需要上传的文件,注意大小写:1
curl -X POST -H "Content-Type:multipart/form-data" -F "file=@文件名称.png" http://baidu.com
文件下载
使用
-o
指令保存请求到的文件, 注意大小写:1
curl -o "baidu.html" http://www.baidu.com/index.html
如果使用大写的
-O
, 同样也能下载, 它会将URL
的最后部分当作文件名, 此时URL`必须写具体, 否则报错:1
curl -O http://www.baidu.com/index.html
断点续传
使用
-C
指令, 一般我们会配合文件下载一起使用:1
curl -C -o "baidu.html" http://www.baidu.com/index.html
请求跟随服务器的重定向
使用
-L
指令, 一般我们会配合文件下载一起使用:1
curl -L -o "baidu.html" http://www.baidu.com/index.html
参考资料
本文为作者原创转载时请注明出处 谢谢