Postman 默认自动跟随301/302重定向,需关闭“Automatically follow redirects”设置才能查看原始301响应及Location头;Location值即跳转目标URL,可在Headers标签页中查找,或通过Tests脚本用pm.response.headers.get("Location")提取验证。

Postman 默认会自动跟随 301(和 302)重定向,所以你看到的响应是最终跳转后的结果,原始 301 Moved Permanently 响应头和 Location 字段被隐藏了——想查跳转目标,必须先关掉自动重定向。
关闭 Postman 的自动重定向功能
这是最关键的一步。默认开启时,Postman 在收到 301 后直接发起第二次请求,你根本看不到第一次响应的任何信息。
- 点击右上角「Settings」(齿轮图标)→ 进入「General」页签
- 找到
Automatically follow redirects选项,把它关掉 - 该设置是全局生效的,关闭后所有后续请求都不会自动跳转
关掉之后再发一次请求,响应状态码就会真实显示为 301,且响应头里会出现 Location 字段。
在响应头中定位 Location 字段
301 的跳转地址就藏在响应头的 Location 字段里,不是响应体里。很多人误以为要解析 JSON 或 HTML,其实完全不用。
Postman 12.27.7 Windows x64 官方安装包,适用于 API 设计、调试、测试与协作。该系列包含 Enterprise 云端性能测试静态 IP 出口能力,以及接口规范标签管理改进,适合受限网络测试与规范资源组织场景。
- 发送请求后,切换到响应区域的 Headers 标签页
- 滚动查找键名为
Location的那一行(大小写不敏感,但标准写法是首字母大写) - 它的值就是服务器指定的跳转目标 URL,例如:
https://example.com/new-path - 如果值是相对路径(如
/login),需手动拼接到原请求的协议+域名上
用 Tests 脚本自动提取并验证 Location
如果你需要批量检查或做自动化断言,可以在 Postman 的 Tests 标签页里写 JS 脚本读取响应头。
-
pm.response.headers.get("Location")可获取字段值,返回null表示没这个头 - 例如判断是否跳转到 HTTPS:
const loc = pm.response.headers.get("Location");<br>pm.test("Redirects to HTTPS", function () {<br> pm.expect(loc).to.include("https://");<br>}); - 注意:脚本运行时响应头已加载完成,但不能在脚本里触发新请求或修改重定向行为
为什么有时看不到 Location 头?常见陷阱
不是所有 301 都带 Location,也不是关掉自动跳转就一定能看到——这些情况容易被忽略:
- Nginx 配置错误导致返回了
301但没写Location(比如return 301;漏了 URL),此时响应头为空,浏览器或 Postman 会报错 - 某些反向代理或 CDN(如 Cloudflare)可能吞掉或改写
Location,尤其当跳转目标被判定为“不安全”时 - 如果原始请求是 HTTP,而
Location指向 HTTPS,部分旧版客户端(如 .NET Core 3.1)会拒绝跳转,但 Postman 关闭自动跳转后仍能看见头 - Postman 的「Preview」或「Pretty」响应体视图会尝试渲染重定向后的页面,干扰判断;务必切到 Headers 或 Raw 查看原始响应
真正要确认跳转逻辑,永远以响应头为准,而不是靠肉眼观察最终页面 URL 或响应体内容。










