用curl -i可快速获取网站响应头,-i显示完整响应(含响应体),-v展示全链路通信细节;配合sed可精准提取请求头或响应头。

想在Mac终端里快速确认某个网站返回的HTTP响应头是否包含特定字段,比如Content-Type或Cache-Control,不需要打开浏览器开发者工具,直接用命令行就能拿到原始、未加工的响应头。
用curl -I 查看响应头
在终端中输入:curl -I https://example.com,回车执行。
-I参数表示只请求响应头,不下载响应体,速度快、干扰少。
注意:如果目标站点强制重定向(如HTTP→HTTPS),默认不会跟随跳转,你看到的可能是301响应头而非最终页面的头信息。
用curl -i 查看完整请求-响应过程
执行:curl -i https://example.com。
这条命令会输出完整的HTTP响应——包括状态行、所有响应头、空行,以及响应体内容(HTML/JSON等)。
当你需要对照响应头和实际返回内容是否匹配时(例如Content-Type: application/json但返回了HTML),必须用-i而不是-I。
用curl -v 查看请求头+响应头+底层通信细节
方法一:查看全链路原始报文
运行:curl -v https://example.com。
输出中会明确标出> 开头的是发出的请求行和请求头,开头的是收到的响应行和响应头,中间还包含TLS握手、DNS解析等过程。这是调试跨域、认证、代理问题时最可靠的依据。
方法二:只提取请求头部分(避免滚动翻屏)
执行:curl -v https://example.com 2>&1 | sed -n '/^> /,/^$/p'。
这条管道命令能精准截取从第一个> 到首个空行之间的所有请求头内容,不含响应部分。
方法三:只提取响应头部分(过滤掉请求和响应体)
运行:curl -v https://example.com 2>&1 | sed -n '/^。
这一步稍复杂,但它能干净剥离出全部响应头字段,每行一个Key: Value格式,适合后续用grep筛选,比如加| grep -i content-length快速定位长度字段。
【必须确认目标URL支持HTTPS且证书有效】否则curl -v会在TLS阶段失败并中断,看不到任何HTTP头。











