用 curl 检查接口:看状态码、响应头与正文
准备工作
终端可用
curl --version。依据:curl 官方 man page 对
-I/-i/-v等选项的说明。[1]核实日期:2026-10-24。把示例里的 URL 换成你自己的健康检查或文档站点。
操作步骤
1、只看响应头(含状态行)
做什么:
curl -I https://example.com为什么:-I 发送 HEAD(文档所述行为),先确认状态码与关键响应头,再决定要不要拉正文,排障时更省带宽。[1]
怎么确认:输出首行类似 HTTP/2 200 或 HTTP/1.1 301;能看到 content-type、location(若重定向)等头。
2、把正文和头一起打印
做什么:
curl -i https://example.com/api/health为什么:-i 在输出中包含响应头,同时仍获取正文。接口报错时,状态码和错误 JSON/HTML 往往要一起看。[1]
怎么确认:头与正文之间通常有空行分隔;正文可被 jq 或编辑器打开;非 2xx 时也能读到服务端返回的错误信息。
3、需要细节时开详细日志
做什么:
curl -v https://example.com 2>&1 | less为什么:-v 打印请求/响应握手细节,包括 TLS、重定向跳转、发送的请求头,适合定位证书问题、错误的 Host 或意外跳转。[1]
怎么确认:日志里能看到 Connected to、证书校验相关行,以及最终落地的 URL;对比你预期的域名与协议是否一致。
4、带自定义头做鉴权探测(可选)
做什么:
curl -i -H "Authorization: Bearer YOUR_TOKEN" https://example.com/api/me为什么:许多 API 用 Header 鉴权;先确认 401/403/200,再查业务字段。[1]
怎么确认:未带 token 时期望 401/403;带正确 token 后为 200 且正文含用户字段。把真实 token 换成环境变量,不要写进可分享脚本。
把 curl 当排障工具时,目标不是“把命令写得很炫”,而是快速回答三个问题:连上了吗、状态码是什么、正文里有没有错误信息。先头后身、先无鉴权后有鉴权,比一上来就甩很长的一串参数更不容易迷路。
对前端联调尤其有用:浏览器里看到的失败,有时其实是重定向、CORS 前的网络层或网关 502。用 curl 绕过浏览器页面逻辑,能把问题缩到“服务端是否按约定返回”。
记录结果时顺手保存完整请求(脱敏后的 URL、方法、关键头、状态码、耗时),比只截一张红字报错图更利于让后端复现。
注意事项
生产环境勿把含密钥的完整命令贴进公共群或工单截图。
某些服务对 HEAD 支持差,
-I可能误判;改用curl -i -X GET。需要跟随重定向时加
-L,但要清楚最终是否跨域到了别的主机。
来源
[1] curl man page · https://curl.se/docs/manpage.html · 核实于 2026-10-24
#curl #HTTP #前端 #排障 #教程