有些 CI 里只写 curl -f,接口返回 400/500 时退出码有了,但响应体被丢掉,定位起来挺难。curl 7.76+ 可以这样:
curl --fail-with-body -sS \
-o response.json \
-w '\nHTTP %{http_code}\n' \
https://example.com/health
--fail-with-body 遇到 400 及以上状态码仍返回非 0,但会把响应体留在 response.json;-sS 安静运行、出错时仍显示错误,-w 只打印状态行。
环境:curl 7.76+,Linux 或 macOS。真实项目里别把令牌直接写进命令或 CI 日志。