Postman里怎么自动保存登录后的Cookie?

一立顺 阅读 20

我用Postman调登录接口,返回了Set-Cookie头,但后续请求好像没带上这个Cookie,得手动复制粘贴,太麻烦了。

我看别人说Postman会自动管理Cookie,但我这没生效。是不是要开什么开关?或者我的响应头格式有问题?

后端返回的Set-Cookie是这样的:

Set-Cookie: sessionid=abc123; Path=/; HttpOnly; Secure

我在Postman的Cookies管理器里也看不到这个cookie,是不是因为Secure标志导致本地不保存?

我来解答 赞 6 收藏
二维码
手机扫码查看
2 条解答
UX东辰
UX东辰 Lv1
在Postman里要让Cookie自动保存和使用,有几个点要注意。

首先检查你的环境设置。在Postman左上角有个齿轮图标,打开后找到Cookies选项。确保你当前的环境是启用Cookie管理的,默认情况下Postman是支持自动处理Set-Cookie头的。

针对你说的Secure标志问题,确实本地http请求可能因为安全限制无法保存Secure标记的cookie。你可以试试用localhost开发时把后端跑在https上,或者临时去掉Secure标志来验证。

另外记得在请求设置里确认你已经启用了跟随重定向。有时候登录请求会302跳转,如果没开启这个选项,可能会错过保存cookie的机会。

要是这些都搞定了还是不行,可以手动写个预请求脚本,在测试环境中注入cookie。比如这样:

pm.sendRequest({
url: 'https://your-api.com/login',
method: 'POST',
header: {
'Content-Type': 'application/json'
},
body: {
mode: 'raw',
raw: JSON.stringify({username: "test", password: "123456"})
}
}, function (err, res) {
if (!err) {
const cookies = res.cookies;
pm.environment.set("sessionid", cookies.get('sessionid'));
}
});


这代码虽然能解决问题,但最好还是让Postman自动处理,保持流程简单优雅些。
点赞
2026-03-27 12:04
技术子睿
首先你要检查Postman的环境设置,因为Cookie管理跟环境息息相关。在Postman里,每个请求都关联着一个环境,而Cookie是按环境来存储的。

打开你当前使用的环境设置,找到Cookies管理器,看看有没有开启Cookie保存功能。如果没看到你的 sessionid 这个Cookie,很可能是因为环境配置不对或者权限问题。

说到Secure标志,它确实会影响Cookie的存储行为。Secure标志要求Cookie只能通过HTTPS连接传输,如果你在本地开发用的是HTTP协议,那这个Cookie就不会被保存。你可以试试用localhost作为域名来测试,因为现代浏览器对localhost会稍微放宽限制。

另外,你需要确保你的登录请求设置了正确的 withCredentials 参数。虽然这在Postman图形界面中不太需要手动设置,但如果是代码里发起请求就要注意了。比如在JavaScript中:

var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://yourapi.com/login');
xhr.withCredentials = true;
xhr.send();


在Postman中,确保你的请求头允许接收Set-Cookie响应。有时候我们为了调试方便,在Pre-request Script里写了清除Cookie的操作,也可能会导致这个问题。

最后给你个小技巧:在Postman里,打开右上角的Cookies图标,查看对应域名下的Cookie列表,能直观看到哪些Cookie被保存了。要是还不行,考虑重启Postman或者清理缓存,有时候这些小动作能解决大问题。

说真的,我以前也被这问题困扰过,折腾了好几天才发现是HTTPS的问题。希望这些步骤能帮你解决问题。
点赞
2026-03-25 21:03