Postman的Headers面板仅显示手动设置或自动注入的请求头,不包含Host、Connection、Content-Length等由底层自动添加的系统级头;确认真实请求头需结合Postman Console日志、mitmproxy抓包或Pre-request Script打印验证。

Postman 默认会隐藏部分请求头(比如 User-Agent、Accept、Content-Length 等),你看到的 Headers 面板只是“显式设置”的那部分,不是真实发出的全部请求头。想确认实际发出去了哪些头,必须用开发者工具或抓包验证,Postman 自身不提供“全量原始请求头”视图。
Postman 的 Headers 面板只显示你手动添加或自动注入的头
当你在 Headers 标签页里填了 Authorization 或 X-Api-Key,它会显示;但像 Host、Connection、Accept-Encoding 这类由底层 HTTP 客户端(基于 Chromium)自动加上的头,不会出现在面板中。即使你清空 Headers 面板,请求仍会带这些头——这是浏览器级行为,Postman 不暴露控制权。
- Postman 会自动添加
Content-Length(对非流式请求)和Host,无法禁用或修改 -
User-Agent固定为PostmanRuntime/7.x.x,不能通过 Headers 面板覆盖(改了也无效) -
Accept默认是*/*,只有你显式设成application/json等值时才会出现在面板里
如何确认真实发出的请求头?用 Console + 抓包双验证
Postman 内置的 Console(View → Show Postman Console)能打印出最终发出的请求摘要,但依然不列全头。真正可靠的方式是结合外部工具:
- 启动 Postman Console,发送请求,看日志里
Request Headers区域——它比 Headers 面板多几项(如accept-encoding),但仍可能缺host - 用
mitmproxy或Charles Proxy拦截 Postman 流量(需在 Postman 设置中开启代理:Settings → Proxy → Global Proxy Configuration) - 更轻量:在 Pre-request Script 中打印所有头:
console.log('All headers:', Object.keys(pm.request.headers).map(k => `${k}: ${pm.request.headers[k]}`))——但注意,这只能拿到你“能访问到”的头,Host等系统级头仍不可见
哪些头被 Postman 明确屏蔽,根本无法设置?
Postman 基于 Chromium 的网络栈,遵守 XMLHttpRequest 规范,以下头名被硬性过滤,无论你在 Headers 面板怎么填、脚本怎么设,都不会生效:
Postman Mac版是一款专为macOS设计的API开发与测试工具,凭借简洁的界面和强大的功能,深受开发者喜爱。它支持发送各种HTTP请求(GET、POST、PUT等),轻松管理接口集合、环境变量和模拟服务器。Mac用户可享受原生性能、快捷键优化及与系统无缝集成的体验,适用于接口调试、自动化测试和文档生成。无论是个人项目还是团队协作,Postman for Mac都能提升API开发效率,是ma
-
Accept-Charset、Accept-Encoding -
Access-Control-Request-Headers、Access-Control-Request-Method -
Connection、Content-Length(手动设会被忽略) -
Cookie(除非开启 Cookie Manager 并启用自动管理)
如果你看到某次请求没带上自定义的 X-Requested-With,先检查是否拼错,再确认没撞上这个黑名单——它不在屏蔽列表里,但某些服务器会主动忽略。
需要强制发某个被屏蔽的头?换方案
硬要发 Connection: keep-alive 或改 User-Agent?Postman 做不到。这时候得切到真正可控的工具:
- 用
curl命令行:支持任意头,curl -H "User-Agent: test" https://api.example.com - 写一段 Node.js 脚本,用
node-fetch或axios,完全掌控 headers 对象 - 在 Postman 的 Tests 或 Pre-request Script 中调用
pm.sendRequest发起二级请求——但它仍受同套限制,只是绕过主请求的 UI 层
真实请求头的“可见性缺口”是设计使然,不是 bug。别在 Headers 面板里找 Host,它从来就不在那里。
















