curl命令行工具调试http接口使用小结

Posted 特立独行的猫a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了curl命令行工具调试http接口使用小结相关的知识,希望对你有一定的参考价值。

基于http的web api接口太常见了。

无论是微信,支付宝还是银联,都有https接口api, 工作中有时候需要调试下http接口。

如果为了调试个接口就要敲代码的话效率未免太低了。curl工具就很强大,直接用工具敲一下,就能把http接口给测一下,且可以打印出完整的过程,方便调试。

也许你会用postman,当然postman是一个不错的工具,但是前提是得安装有这个工具吧。

如果用习惯了命令行,curl工具就够简单、强大和好用了。而且还可以把要测试的包报存为文件,方便下次测试或者,执行测试用例。

相比postman工具,这个curl麻雀虽小五脏俱全,没有它不能的。更专业的一般都会有专门的api接口文档管理平台如yapi。但是当遇到个紧急的第三方接口对接调试时,还是curl更快和顺手。

举一个之前测试银联https的接口demo,为了安全起见,后台地址用XX表示。

需要提交的二进制数据,我提前准备到aaa.bin文件里了,如果敲在命令行,太费劲了。

UP.pem为本地公钥证书文件。

curl https://XXX.XXX.XXX.XX:XXX -v --cacert ./UP.pem -k -H 'User-Agent: Donjin Http 0.1' -H 'Content-Type: x-ISO-TPDU/x-auth' -H 'Cache-Control: no-cache' -H 'Content-Length: 93' --data-binary @aaa.bin

执行结果:

> POST / HTTP/1.1
> Host: XXX.XXX.XXX.XX:XXX
> Accept: */*
> User-Agent: Donjin Http 0.1
> Content-Type: x-ISO-TPDU/x-auth
> Cache-Control: no-cache
> Content-Length: 93
>
} [93 bytes data]

* upload completely sent off: 93 out of 93 bytes

这样就算完啦,相比之前,我没安装postman,接口测试我用php写的一个测试demo来说,这个curl工具更简单高效。

再举个更常见的例子:

调用平台接口post数据,数据为json格式:

curl -i -X POST -H 'Content-type':'application/json' -d {"BTime":""$btime""} $url

如果json参数过长可使用如下方法,把json报文写入到文件中,如params.json保存在执行路径下,

-d参数部分使用@params.json 引用参数文件内容即可成功发送。

curl "http://127.0.0.1:9999/test" -H "Content-Type: application/json" -d @params.json -X POST

以上是关于curl命令行工具调试http接口使用小结的主要内容,如果未能解决你的问题,请参考以下文章

grpc调试工具

curl 模拟 GETPOST 请求,以及 curl post 上传文件

linux之http命令行工具curl

调试应用不发愁,免安装的 curl 来帮忙

如何利用cURL和python对服务端和web端进行接口测试

curl 命令行工具的使用及命令参数说明