直接用 curl -s -o /dev/null -w "%{http_code}\n" 可一次性获取http状态码,加-l可跟随重定向并返回最终状态码,配合--connect-timeout和--max-time实现生产级健壮检测。

直接用 curl -s -w 组合就能一次性拿到状态码和响应时间,不用拆成多条命令,也不依赖额外工具。
只取状态码:最简方式
命令结构清晰、无干扰输出,适合脚本判断:
-
curl -s -o /dev/null -w "%{http_code}" https://api.example.com/health→ 输出200 -
-s屏蔽进度条和错误提示;-o /dev/null丢弃响应体;-w "%{http_code}"只打印状态码 - 加
"\n"换行更规范:-w "%{http_code}\n",避免和其他日志连在一起
同时抓状态码 + 多阶段耗时
一个命令看清 DNS、建连、首字节、总耗时,定位慢在哪一环:
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
curl -s -o /dev/null -w "STATUS:%{http_code} DNS:%{time_namelookup}s CONNECT:%{time_connect}s START:%{time_starttransfer}s TOTAL:%{time_total}s\n" https://api.example.com/health- 常见字段含义:DNS 是域名解析耗时,CONNECT 包含 DNS+TCP 建连,START 是服务端处理+首包返回时间,TOTAL 是整体耗时
- 比如输出
STATUS:200 DNS:0.002s CONNECT:0.045s START:0.187s TOTAL:0.213s,说明服务端处理占了大部分时间
带重定向的完整链路检测
真实接口常有跳转(如登录页、OAuth 回调),需确认跳转是否符合预期:
curl -s -L -o /dev/null -w "STATUS:%{http_code} REDIRECT:%{redirect_url} TIME:%{time_total}s\n" https://api.example.com/login-
-L启用自动跟随重定向,%{redirect_url}显示最终跳转目标(若无跳转则为空) - 返回
STATUS:302 REDIRECT:https://auth.example.com/callback TIME:0.291s表示跳转正常;若REDIRECT:后为空但STATUS是 302,说明未加-L,没跟进
生产环境实用建议
上线巡检或监控脚本里,这几个点容易忽略但影响判断准确性:
- 务必加超时控制:
--connect-timeout 5 --max-time 10,防止因网络卡顿导致脚本挂起 - 对 JSON 接口,建议加
-H "Accept: application/json",避免服务端因 Accept 不匹配返回 HTML 错误页(状态码仍是 200) - 状态码校验别只看 200:3xx 跳转、401/403 权限类、5xx 服务端异常都需单独处理,
%{http_code}返回的是最终响应码(-L 下) - 批量检测时,用
while read url; do ...; done 配合 <code>set -e,任一失败立即中断流程
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










