CURL使用总结
发布于2022-08-19 00:01:13,更新于2024-11-07 21:34:04,标签:curl 文章会持续修订,转载请注明来源地址:https://meethigher.top/blogcurl使用url上传和下载的客户端程序,c表示客户端的含义。
url参数,可以不加双引号。
但是如果碰到如
&
符号,就会自动截断,所以保险起见,加双引号。
一、快速使用
1.1 get
发送一个get请求
1 | curl -X GET \ |
1.2 post
发送一个post请求,请求体格式是json,具体请求体内容是分页。
1 | curl -X POST \ |
二、细节
以下所有内容,通过curl --help
都可以查看
curl支持简略写法,如curl -v
curl也支持全拼写法,如curl --verbose
多参数可以使用简略写法,如curl -vL
2.1 跟随重定向
访问我的http域名,会自动重定向到https域名。
curl默认是获取到的重定向前的内容,如果想要直接获取重定向后的内容,需要使用location
1 | curl -L "http://meethigher.top" |
或者全拼写法
1 | curl --location "http://meethigher.top" |
2.2 显示通信过程
verbose
显示完整的请求过程
1 | curl -v "http://meethigher.top" |
或者全拼写法
1 | curl --verbose "http://meethigher.top" |
2.4 设置请求头
header
表示设置请求头
1 | curl -H "User-Agent: I am your father" "https://meethigher.top/census/head" |
或者全拼写法
1 | curl --header "User-Agent: I am your father" "https://meethigher.top/census/head" |
如图,查看ua已经被修改
curl还提供了比header
更精准的参数,基于header实现的,所以只要了解header即可。
2.5 切换请求方式
request
表示设置请求方式
1 | curl -X POST "http://127.0.0.1:9090/doc/downExcel" |
或者全拼写法
1 | curl --request POST "http://127.0.0.1:9090/doc/downExcel" |
2.6 设置请求体
任意格式
data
表示设置请求体
1 | curl -X POST \ |
或者全拼写法
1 | curl -X POST \ |
不管是json、form表单、拼参形式,都可以通过data,但是要注意请求头的Content-Type要配套
如果-d
后面涉及编码问题时,比如xml,可以直接使用-d @文件
,如
1 | curl -X POST -H "Content-Type:application/xml" -d @test.txt "http://192.168.110.199:9999/xml/insert" |
form-data格式
1 | curl -X POST -F "pageIndex=1" -F "pageSize=20" -F "taskName=测试任务" "http://127.0.0.1:54187/task/pageQuery" |
若需要上传文件
1 | curl -X POST -F file=@doc.xlsx "http://127.0.0.1:9090/doc/excelImport" |
2.7 下载功能
output
表示将控制台打印改为保存
1 | curl -X GET -o doc.xlsx "http://192.168.101.11:9090/doc/downExcel" |
或者全拼写法
1 | curl -X GET --output doc.xlsx "http://192.168.101.11:9090/doc/downExcel" |
2.8 上传功能
Multipart formposts - Everything curl
下面举例multipart/form-data
的上传形式
form
表示采用form表单形式
1 | curl -X POST -F file=@doc.xlsx "http://127.0.0.1:9090/doc/excelImport" |
或者全拼写法
1 | curl -X POST --form file=@doc.xlsx "http://127.0.0.1:9090/doc/excelImport" |
2.9 配置代理
临时全局代理
该代理的开启,按照我的习惯,依然是使用Qv2ray,参考Git配置代理
1.) windows
1 | set http_proxy=10.0.0.1:1081 |
2.) linux
1 | export http_proxy=10.0.0.1:1081 |
临时请求代理
只需要添加请求头-x
即可
1 | curl -x 10.0.0.1:1081 -o jvms.zip "https://github.com/ystyle/jvms/releases/download/v2.1.1/jvms_v2.1.1_amd64.zip" |
三、参考致谢
打赏