Curl请求REST接口技巧

背景说明

接口调试过程中有很多的REST接口请求工具,例如PostmanPostwoman这些图形化工具可以简化接口请求,在服务器上调试过程中,由于缺少图形化界面,这里使用命令行变成了相对可行性的方案。

解决方案

Header

curl中可以使用-H参数提交请求头参数

curl -H "Content-Type:application/json"

多个请求头参数使用如下模式:curl -H "Content-Type:application/json" -H "Accept-Charset: utf-8"

详细请求头可以参考https://www.cnblogs.com/widget90/p/7650890.html

Cookie

这里针对Cookie的设置做出特别说明

方案一

curl -H "Cookie: $Version=1;Skin=new;" http://localhost:8080/v1/test

方案二

curl -b 'foo=bar' http://localhost:8080/v1/test

GET请求

这里推荐方案二

方案一

curl -i http://localhost:8080/v1/test?key1=value1\&key2=value2

*unix系统中&会使程序后台运行,故这里需要使用\进行转义,如果不转义会导致参数key2漏传

方案二

curl -i "http://localhost:8080/v1/test?key1=value1&key2=value2"

使用""包裹起来后会把内容当做一个整体,不会存在漏传的问题

POST请求

curl -H "Content-Type:application/json" -X POST -d '{"key1":"value1","key2":"value2"}' http://localhost:8080/v1/test

常用参数

  • curl中可以使用-b参数用来向服务器发送 Cookie。
  • curl中可以使用-i参数打印出服务器回应的 HTTP 标头。
  • curl中可以使用-X参数指定 HTTP 请求的方法。
  • curl中可以使用--limit-rate用来限制 HTTP 请求和回应的带宽,模拟慢网速的环境。

更详细参数可以参考:http://www.ruanyifeng.com/blog/2019/09/curl-reference.html

你可能感兴趣的:(Curl请求REST接口技巧)