用 curl 快速测试 HTTP 接口:从状态码到 JSON 响应
联调接口时,最趁手的工具往往不是图形界面,而是终端里随手可用的 curl。它无需写代码、不用装额外软件,一条命令就能看到接口的真实返回。下面按“从状态码到 JSON 响应”的顺序,梳理一套快速测试的流程。
一、先看状态码,别急着看正文
拿到一个接口地址,第一件事是确认它“通不通”。用 -i 可以同时看到响应头和响应体:
curl -i https://api.example.com/health
如果只关心状态码,可以把响应体丢掉,只输出状态码:
curl -s -o /dev/null -w "%{http_code}\n" https://api.example.com/health
看到 200 说明服务正常;看到 404 先核对路径拼写;看到 500 则是服务端出了问题,再看响应体里的错误信息。
二、GET 请求:参数要编码
查询类接口常用 GET,参数放在 URL 里。手工拼接容易漏掉编码,用 -G 加 --data-urlencode 更稳妥:
curl -G https://api.example.com/users --data-urlencode "name=张三" --data-urlencode "page=2"
三、POST JSON:声明 Content-Type
提交 JSON 数据时,必须告诉服务端这是 JSON,否则很可能被当成表单解析:
curl -X POST https://api.example.com/users -H "Content-Type: application/json" -d '{"name":"张三","age":28}'
如果返回 415,基本就是 Content-Type 不对;返回 400,则检查 JSON 格式或必填字段。
四、读 JSON 响应:先格式化再判断
接口返回的 JSON 常常挤在一行里,直接读很费劲。用 Python 自带的工具格式化一下:
curl -s https://api.example.com/users/1 | python3 -m json.tool
格式化后先确认外层结构,再逐层核对关键字段:code 是否表示成功、data 是否有值、出错时 message 写了什么。
五、常见状态码速查
- 200/201:成功,201 常用于创建成功。
- 204:成功但无内容。
- 301/302:重定向,可加
-L跟随跳转。 - 400:请求参数有问题。
- 401:未登录或 Token 失效。
- 403:已登录但无权限。
- 404:路径或资源不存在。
- 500/502/503:服务端错误,联系后端并附上请求记录。
六、超时与重试
接口偶尔抖动时,别急着下结论。给请求设一个上限,并允许重试一次:
curl --max-time 10 --retry 2 https://api.example.com/health
七、把命令沉淀下来
测试过的命令值得保存:写进项目的接口调试文档里,下次联调直接复用;涉及真实 Token 的命令不要提交到代码仓库,改用环境变量传入。
掌握“状态码—响应头—JSON 正文”这条主线,curl 就能覆盖日常九成的接口测试场景。先通后细:先确认接口通不通,再确认数据对不对,联调效率会高很多。
- 点赞
- 收藏
- 关注作者
评论(0)