CURL命令
1. 概述
工作中排查线上问题时,会经常调用问题接口,使用postman太笨重了,且客户不一定能安装这类软件,因此此处记录下使用curl命令调用接口,curl命令调用接口不复杂,记录于此是为了自己找的方便
2. 请求post body
curl -X POST http://ip:port/hello/hello.action -H 'Content-Type: application/json' -d '{"name": "AABBCCDD","age": 18,"address": "南极"}'
-H: 加入header参数
-d: 请求对象的json字符串
2.1. 字符串太长问题
如果字符串太长,可以将json字符串改成一个data.json 文件放在服务器上,命令变成
curl -X POST http://ip:port/hello/hello.action -H 'Content-Type: application/json' -d @data.json
2.2. 参数太多的问题
如果curl 参数太多,比如 -X -H -d .... 太多,导致curl太长,可以考虑使用换行,或者使用文件记录
换行
curl http://ip:port/hello/hello.action \
-X POST \
-H 'Content-Type: application/json' \
-d '{"name": "AABBCCDD","age": 18,"address": "南极"}'
或者把参数写在curl.options文件中
curl -K curl.options http://ip:port/hello/hello.action
3. 请求表单入参
如果是post表单入参的接口,可以使用如下的curl命令
curl -G -d 'user=who' --data-urlencode 'param=[{"sex":"","name":"包子"}]' -H 'Content-Type: application/x-www-form-urlencoded' -X POST http://ip:port/hello
这里的特殊接口,有两个参数,其中一个是json字符串,需要编码下才能使用,data-urlencode就是让参数加密用的
-G
告诉curl
将-d
或--data
指定的数据转换为 GET 请求 URL 的查询参数。--data-urlencode
表示对=
右侧的数据进行 URL 编码。
也可以不用这么麻烦,使用单引号包裹下,也是可以的
curl -d 'user=who¶m=[{"sex":"","name":"包子"}]' -H 'Content-Type: application/x-www-form-urlencoded' -X POST http://ip:port/hello
4. 添加cookies
curl -X POST http://ip:port/hello.do -d 'password=www&username=admin&verifyCode=1234' --cookie "SESSION=xxxxxx"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!