curl -v 不够用的时候
curl -v 只打印请求头和响应头,遇到 TLS 握手失败、HTTP/2 帧异常、或者响应体解析错误时信息不够。
更细的开关:
curl --trace - --trace-time https://example.com/
curl --trace-ascii out.txt https://example.com/
--trace - 输出到 stdout,包含收发的原始数据、SSL 握手细节、HTTP/2 帧。配合 --trace-time 每一行带时间,能看出是哪一步卡住。
排查超时还可以加:
--connect-timeout 5 --max-time 20 -w '%{time_namelookup} %{time_connect} %{time_appconnect} %{time_starttransfer}\n'
time_appconnect 是 TLS 完成的时间点,和 time_connect 的差值就是握手耗时。握手特别慢通常是证书链太大或者 OCSP 卡住。