curl 笔记
2025-08-22 16:02:03,

测试工具

可以用nC++快速开启一个端口监听, 用来检查curl请求

# 命令格式 nc -l -p [port], 例如
nc -l -p 8080

GET 请求

curl [URL]
# 或者指定请求方式
cURL -X GET [URL]

例如

curl http://127.0.0.1:8768/app/bootup/ping
curl -X GET http://127.0.0.1:8768/app/bootup/ping

GET请求的参数一般放在链接里, 例如

curl -X GET http://127.0.0.1:8768/app/data_import/get?id=1

如果要像POST那样放到 -d 参数中, 则需要加上 -G 参数

-G, --get Put the post data in the URL and use GET

例如

curl -X GET -G -d 'id=1' http://127.0.0.1:8768/app/data_import/get

POST 请求

用 -d 指定参数, 格式默认使用的是 Content-Type: application/x-www-form-urlencoded;charset=UTF-8

cURL -X POST -d "k=v&k2=v2" 

如果需要使用 json, 需要用 -H 指定 Content-Type: application/json

curl -X POST -H "Content-Type: application/json" -d '{}' [URL]

例如

curl -X POST -H "Content-Type: application/json" -d '{"page":2, "limit":2}' http://127.0.0.1:8768/app/static_file/list

上传文件

Multipart 文件上传

# 格式, -F可以多个
curl -F key1=value1 -F upload=@localfilename URL

例如

curl -v -F file=@"/home/milton/Downloads/File_28_7.zip" http://127.0.0.1/app/static_file/upload
curl -XPOST -F "k=v" -F "file=@1112002.png" http://localhost:8080/home

如果要上传多个文件, 参数名要唯一, 或者改成数组参数名, 例如

curl [URL]
# 或者指定请求方式
cURL -X GET [URL]
0

或者用数组参数名, 例如

curl [URL]
# 或者指定请求方式
cURL -X GET [URL]
1

提交二进制数据

使用 --data-binary 参数, 不需要指定参数名

curl [URL]
# 或者指定请求方式
cURL -X GET [URL]
2

全局参数

带错误输出的安静模式 -sS

curl [URL]
# 或者指定请求方式
cURL -X GET [URL]
3

只获取响应头, 用于只需要判断200的场景

curl [URL]
# 或者指定请求方式
cURL -X GET [URL]
4

显示完整请求和响应 -v

例如

curl [URL]
# 或者指定请求方式
cURL -X GET [URL]
5