用 curl 测接口:状态码、耗时与新手避坑
调接口第一步不是写代码,而是先把接口跑通。curl 就是干这个的,它装在绝大多数系统里,一行命令就能看到服务器到底回了什么,比先写一堆代码再排错省事得多。
先看最常用的一条:curl -i https://example.com/api。-i 会同时打印响应头和响应体,状态码一眼就能看到。200 是正常,301、302 是跳转,404 是地址错了,500 是服务端出了问题。很多人只看响应体不看状态码,接口明明报错了,还以为是自己解析错了。
只想看状态码,不想被一堆正文刷屏,就用 curl -o /dev/null -s -w “%{http_code} %{time_total}s\n” 地址。-o 把正文丢掉,-w 只打印状态码和总耗时,一眼就能判断接口是通了、慢了,还是挂了。
需要带参数的接口分两种。GET 直接把参数拼在地址后面,注意问号和 & 在 shell 里要加引号,不然会被当成后台运行符。POST 则用 -d 传数据,配上 -H “Content-Type: application/json” 告诉服务端这是 JSON,格式写错了服务端大概率直接报 400。
新手最容易踩的三个坑:第一,地址少了 https,默认走了 http,被重定向后还以为接口坏了;第二,接口要鉴权,忘了加 -H “Authorization: Bearer 你的 token”,拿到的永远是 401;第三,超时没设,接口一挂整个脚本就卡在那里,测接口时加个 -m 10,十秒没响应就断开,先保住自己的时间。
把这几条练熟,接口联调时你能先分清是地址错了、参数错了、鉴权错了,还是服务端真挂了,问题定位快一半,写代码时也少走很多弯路。
- 点赞
- 收藏
- 关注作者
评论(0)