1.安装chrome扩展Postman Interceptor
2.点击扩展->按以下步骤设置
3.登录postman -> 点击右下角cookie
4.打开发现cookies已经同步过来了,点击Sync Cookies可以看到设置的域名,两边是同步的,只要设置一边就行
5.使用
方法一:请求域名如果和设置的域名一致会自动加到Cookies,如果原来请求头设置了cookies,把勾选去掉即可
方法二:使用前置脚本替换cookies
console.log("开始同步cookies");
const url = "https://www.baidu.com/";
try {
pm.cookies.jar().getAll(url, (error, cookiesObj) => {
if (error) {
console.error("获取cookies失败:", error);
return;
}
// 使用toJSON()方法获取cookies数据
const cookiesData = cookiesObj.toJSON();
if (!Array.isArray(cookiesData) || cookiesData.length === 0) {
console.log("没有找到有效的cookies");
return;
}
// 构建cookie字符串
const cookieString = cookiesData
.map(cookie => `${cookie.name}=${cookie.value}`)
.join("; ");
// 更新请求头
pm.request.headers.remove("Cookie");
pm.request.headers.add({
key: "Cookie",
value: cookieString
});
// 保存到环境变量
pm.environment.set("card_cookies", cookieString);
console.log(`成功同步 ${cookiesData.length} 个cookies`);
});
} catch (e) {
console.error("执行过程中发生异常:", e);
}
然后需要在Manage cookies->Domains Allowlist 中加上域名,不然会被管理器拦截
这种方法会自动替换cookie,不需要再进行勾选,也可以实现跨域使用cookie,最佳实践是把脚本放到collecttions,那么所有请求都不用另外设置
6.如果显示登录失效,返回浏览器再刷新一下目标网站重新同步cookie即可