首页/系统/Linux 运维命令速查/curl 调试:-v 与 --trace
网络命令82 条

curl 调试:-v 与 --trace

-v 输出请求/响应全过程(DNS、连接、TLS、头部),--trace-time/--trace - 更细;定位超时到底卡在哪一步。

Linux 运维命令速查系统更新于 2026-10-13

curl 调试输出是什么

curl -v 会把一次请求的全过程打出来:解析到哪个地址、TCP 连接是否建立、TLS 握手用了什么协议与密码套件、发出了哪些请求头、收到哪些响应头。--trace 与 --trace-time 提供更细的跟踪,能看到每个字节块的收发。它回答的核心问题是「卡在哪一步」,比只看报错信息精确得多。

基本信息

适用平台Linux/Unix/Windows 通用(curl 7 及以上)
命令语法curl -v URL / curl --trace-time --trace 文件或- URL
常用选项-v 详细过程 --trace - 跟踪到标准输出 --trace-time 跟踪带时间戳 -w 输出自定义耗时指标 -I 只看响应头
输出位置-v 与 --trace 都写标准错误,管道时必须 2>&1 才能看到
判读重点先看连接是否建立,再看 TLS,最后看响应状态码与耗时

典型使用场景

  • 接口超时定位:区分 DNS 慢、连接慢、TLS 慢还是服务端处理慢
  • 证书与握手问题:确认协商到的协议版本与证书主题是否符合预期
  • 请求头核对:确认 Host、鉴权头、Cookie 是否按预期发出
  • 对比两台后端:同一请求打到不同后端,看响应头差异
  • 给开发提供证据:把完整交互过程贴进缺陷单

常用示例

常用示例
curl -v https://api.example.com/health 2>&1 | head -40        # 全过程概览
curl -sS -o /dev/null -w 'dns=%{time_namelookup} connect=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer} total=%{time_total}\n' https://example.com
curl --trace-time --trace - http://10.0.0.5:8080/debug 2>&1 | tail -30   # 带时间戳的细致跟踪
curl -v -H 'Host: api.example.com' http://10.0.0.5/health 2>&1 | head -20  # 直连后端并指定 Host

-v 输出关键行读法

输出行含义怎么看
Trying 与 Connected to尝试连接的地址与实际连上的地址两者不同说明经历了重定向或负载均衡
SSL connection using协商到的 TLS 版本与密码套件版本过旧或套件异常要查服务端配置
Server certificate服务端证书的主题与签发者确认证书域名与预期一致
> GET 或 > POST实际发出的请求行与请求头核对 Host、鉴权头与内容类型
< HTTP/1.1 200响应状态行与响应头先看状态码再看内容问题
Connection left intact 或 closed连接是否被复用连接被提前关闭常与超时或网关配置有关
三段耗时的判据很直观:TTFB 高而 connect 低说明服务端处理慢;connect 高说明网络或连接队列有问题;TLS 段高说明握手慢,常见于证书链过长或未开启会话复用。
--trace 会把请求体与响应体的内容一并输出,里面可能有令牌、口令与个人数据。生产排查时优先用 -v(只到头部层面),确需 --trace 就重定向到受控文件并限制行数,排查完及时清理。

易错点

  • -v 与 --trace 的输出都写标准错误,管道时忘记 2>&1 就只剩响应体,看不到任何调试信息
  • 生产日志不要长期开启全量 --trace:请求头与正文可能含敏感信息,排查完要及时清理落盘文件
  • --trace 输出量极大,不加行数限制会让终端刷屏,务必配合 head 或 tail 使用
  • -v 只能定性看卡在哪一步,要做精确对比时配合 -w 输出数值化的分段耗时
  • 直连后端调试时不带正确的 Host 头,会命中默认站点或返回 404,误判为后端故障

数据来源与参考

  • curl 官方文档(curl.se/docs/manpage.html)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌