首页/网络/网络排障速查/curl -v 看完整请求过程

curl -v 看完整请求过程

curl -v 把 DNS 解析、TCP 连接、TLS 握手、请求行与响应头全部打印出来,是应用层连通性排查的第一手材料;-vv 可看更细。

网络排障速查网络更新于 2026-10-13

curl -v 是什么

curl -v 把一次请求的全过程摊开打印:先解析出的地址、发起的每一次连接尝试、加密握手协商出的协议与套件、实际发出的请求行与请求头、以及收到的响应状态行与响应头。排查应用层连通性时,它同时兼具『测试』和『取证』两个作用:既告诉你通不通,也告诉你卡在哪一步。加 -vv 会补充更多细节,用 --trace-ascii 还能把收发字节完整记下来。

基本信息

适用平台Linux、macOS 自带,Windows 10 及以上内置 curl.exe
核心组合curl -sv -o /dev/null --connect-timeout 5 URL,丢弃正文只看过程
常用参数-v 详细、-vv 更详细、-s 静默进度条、-S 保留错误、-I 只看响应头、-x 走代理
符号约定以星号开头的是本地连接与协议信息,大于号是发出的请求,小于号是收到的响应
排查提示先加 --connect-timeout 限定等待,避免连不通时长时间挂住

典型使用场景

  • 判断卡在哪一层:连接阶段卡住是网络或端口问题,握手阶段卡住是加密与证书问题
  • 核对请求内容:确认实际发出的请求头与主机名是否与预期一致
  • 核对响应结果:确认状态码、跳转位置与响应头里的缓存与压缩策略
  • 验证域名与证书:从输出里读出实际访问的地址与协商到的协议版本
  • 走代理验证:用 -x 指定代理,确认通过代理链路访问是否正常

输出分段解读

输出分段解读
curl -v --connect-timeout 5 https://example.com/ -o /dev/null
# *   Trying 93.184.216.34:443...        # 已解析出地址,正在发起连接
# * Connected to example.com port 443    # TCP 三次握手成功
# * TLSv1.3 (IN), TLS handshake, Finished# 加密握手完成,协商出协议版本
# > GET / HTTP/2                        # 实际发出的请求行
# > Host: example.com                   # 请求头里的主机名
# < HTTP/2 200                          # 响应状态
# < content-type: text/html             # 响应头

curl -vv -o /dev/null https://example.com/    # 更细的连接与握手中间过程
curl --trace-ascii /tmp/trace.txt https://example.com/   # 收发内容完整落盘

关键行与指向

输出位置含义异常指向
解析阶段无输出或报无法解析主机域名没有解析出地址解析服务配置、域名拼写、解析链路
Trying 一直不出现结果连接尝试没有回应端口未开放、策略丢弃、路由不可达
Connected 后立即断开握手完成但被立刻重置服务端主动拒绝、中间设备清理会话
TLS 行后报错加密握手失败证书过期或链不全、协议版本不匹配、中间设备拦截
只有请求行没有响应行请求发出但拿不到响应服务端处理异常、连接被中断
响应行状态码非预期请求到达但业务返回错误应用与服务端配置,需结合服务日志
排查时务必保留从解析到响应的完整片段:只截取响应头而丢掉连接与握手那几行,等于把最有信息量的部分删掉了。
脚本自动化里用 -sS 组合:静默模式去掉进度条,保留错误信息;排障时不要用纯 -s,会把关键线索一并静默掉。
用跳过证书校验的参数确实能让请求成功,但它掩盖的是真实的证书问题,仅限临时定位,修复必须回到证书链与系统时间上。

易错点

  • 只看返回的正文判断成败,遇到空白页就无从下手,实际关键线索都在详细输出里
  • 排障时图清静用静默模式,结果连接失败也没打印任何错误,白跑一轮
  • 不加连接超时就执行,遇到策略丢弃的目标会长时间挂住,误以为是命令卡死
  • 把响应状态异常一律归为网络问题,忽略状态码本身就是应用层结论
  • 在容器或代理环境中排障不确认实际出口:请求可能经过代理或隧道,与本机直连行为完全不同
  • 对需要主机头的站点直接用地址访问,请求到了但返回错误结果,误判为服务异常

数据来源与参考

  • curl 手册:-v/--verbose
  • curl 官方文档:Troubleshooting

相关工具

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