Postman自动重定向开关在Settings → General → 取消勾选Automatically follow redirects;关闭后需手动处理Location头、Cookie及请求方法,避免循环跳转与解析异常。

Postman自动重定向开关在哪
Postman默认开启 Automatically follow redirects,它会默默把301/302/307等重定向响应自动跟进,直到拿到200或超限中断。你看到的“请求成功”,可能根本不是原始接口返回的内容,而是跳转链末端的结果——这会让调试完全失焦。
关闭位置:右上角齿轮图标 → Settings → General 标签页 → 找到 Automatically follow redirects 选项,取消勾选。
注意:关闭后,Postman不再自动发后续请求,但你会在响应头里看到 Location 字段,这才是真实重定向目标。别急着点“Send”再试,先确认这个字段是否存在、是否合理。
重定向链是否形成循环
浏览器报“重定向次数太多”,Postman虽不报错,但若你手动跟进多次仍卡在3xx,大概率已进入循环。常见诱因包括:
- 登录中间件配置错误:未登录用户访问首页 → 跳转登录页 → 登录页又检测到未登录 → 再跳回登录页
- 反向代理规则冲突:Nginx/Apache 配置了两条互相指向的
return 301或rewrite - 前后端协议不一致:前端用
http://请求,后端强制跳https://,但证书或TLS终止层没配好,导致跳过去又跳回来 - 域名迁移残留:旧域名301跳新域名,新域名又配置了301跳回旧域名(尤其在CDN或WAF层)
验证方法:关闭自动重定向后,连续发送同一请求,观察每次响应的 Location 值是否在两个URL之间反复出现;或者用 curl -v 跟踪完整跳转链,比Postman更透明。
Location头解析失败或格式异常
有些服务返回的 Location 是相对路径(如 /login?next=/home),而Postman关闭自动重定向后不会帮你补全host,直接复制粘贴进URL栏会404;也有服务返回带空格、未编码的中文或特殊字符,导致解析失败。
Postman Mac版是一款专为macOS设计的API开发与测试工具,凭借简洁的界面和强大的功能,深受开发者喜爱。它支持发送各种HTTP请求(GET、POST、PUT等),轻松管理接口集合、环境变量和模拟服务器。Mac用户可享受原生性能、快捷键优化及与系统无缝集成的体验,适用于接口调试、自动化测试和文档生成。无论是个人项目还是团队协作,Postman for Mac都能提升API开发效率,是ma
检查要点:
- 响应头中
Location是否存在?用pm.response.headers.get("Location")在Test Script里打印确认 - 值是否为绝对URL?如果不是,需手动拼接原始请求的协议+host+port
- 是否含非法字符?比如空格、换行、未encode的中文,可用
decodeURIComponent()尝试解码 - 是否被CDN或网关篡改?对比
curl -I和 Postman 的原始响应头,看Location是否一致
需要手动跟进时怎么传Cookie和Header
关闭自动重定向后,Postman不会继承上一次响应的 Set-Cookie,也不会把原始请求的 Cookie 自动带到下一次请求。如果你的重定向依赖会话状态(比如OAuth授权码流程),必须手动处理。
操作建议:
- 在第一次请求的
Tests里提取并保存Cookie:pm.globals.set("JSESSIONID", pm.cookies.get("JSESSIONID")) - 新建一个请求,URL填
Location值,Headers里手动加Cookie: JSESSIONID=xxx - 更稳妥的做法是用Pre-request Script动态注入:
pm.request.headers.add({key:"Cookie", value:`JSESSIONID=${pm.globals.get("JSESSIONID")}`}) - 注意:307重定向要求保留原请求方法和body,所以第二次请求也得是POST,且Body内容要和第一次完全一致
重定向本身不难,难的是它常藏在中间件、网关、CDN甚至浏览器缓存里。关掉Postman的自动跳转只是第一步,真正要花时间的是比对每一次跳转的响应头、确认每层基础设施的配置意图,以及判断哪个环节悄悄改写了Location。










