Postman怎么在脚本里获取指定Cookie值_PostmanCookie取值方法

轻晨吖_6778

轻晨吖_6778

2026-11-09

954人浏览

原创

Postman中用pm.cookies.get("session_id")可直接获取指定Cookie值,返回字符串或null;注意键名需完全匹配且不区分大小写,HttpOnly和URL编码值均能正确读取。

postman怎么在脚本里获取指定cookie值_postmancookie取值方法

Postman脚本里怎么用 pm.cookies.get() 拿指定 Cookie

直接用 pm.cookies.get("session_id") 就能取到名为 session_id 的 Cookie 值,返回的是字符串或 null(没找到时)。注意它不区分大小写,但匹配的是完整键名,不是子串。

常见错误是写成 pm.cookies.get("Session-ID") 却实际服务端设的是 session-id ——Postman 默认按原始响应头里的键名存储,而响应头里的 Cookie 键名通常是小写带连字符的。建议先在 Postman 的「Cookies」标签页点开查看真实键名。

  • 如果 Cookie 是 HttpOnly,依然能通过 pm.cookies.get() 读取,Postman 脚本运行在客户端环境但不受浏览器同源策略限制
  • 若值含 URL 编码(如空格变 %20),pm.cookies.get() 返回的是已解码后的原始值,不用再调 decodeURIComponent()
  • 不能用 pm.cookies.get("JSESSIONID; Path=/") 这种带属性的写法——只认键名,其余忽略

为什么 pm.cookies.jar().get() 有时返回 undefined

pm.cookies.jar().get() 是异步方法,必须传回调函数或用 async/await,直接赋值会得到 undefined。这是最常踩的坑:以为和 pm.cookies.get() 一样是同步的。

典型错误写法:
const value = pm.cookies.jar().get("token"); // value 是 undefined

正确写法(推荐 Promise 风格):

pm.cookies.jar().get({ url: pm.request.url.toString(), name: "token" })<br>  .then(value => {<br>    console.log(value); // 这里才能拿到值<br>  });
  • url 参数必须提供,且需是完整 URL 字符串(pm.request.url.toString() 最稳妥)
  • 如果请求是重定向链中的一环,jar().get() 默认只查当前请求 URL 对应域的 Cookie,不会跨域查
  • 这个方法能拿到 Secure/HttpOnly Cookie,也能查其他域名(只要在 Cookie jar 里存在且满足域匹配规则)

需要批量取多个 Cookie 怎么办

没有内置的“取全部键值对”方法,但可以用 pm.cookies.keys() 先拿键名列表,再逐个 get():

Postman 12.27.7
Postman 12.27.7

Postman 12.27.7 Windows x64 官方安装包,适用于 API 设计、调试、测试与协作。该系列包含 Enterprise 云端性能测试静态 IP 出口能力,以及接口规范标签管理改进,适合受限网络测试与规范资源组织场景。

下载
const keys = pm.cookies.keys();<br>keys.forEach(key => {<br>  const value = pm.cookies.get(key);<br>  console.log(`${key}: ${value}`);<br>});

注意:pm.cookies.keys() 返回的是数组,但顺序不保证,也不包含 Domain/Path 等元信息。如果依赖特定域或路径的 Cookie,必须用 jar().get() 并显式传 url 和 domain 参数。

  • 如果只是想把几个固定 Cookie 写进下一个请求 Header,更简单的方式是直接在 Tests 里用 pm.environment.set("token", pm.cookies.get("XSRF-TOKEN")),然后在下个请求的 Authorization 或 Header 里用 {{token}}
  • pm.cookies.has("key") 可以提前判断是否存在,避免 get() 返回 null 后做空值处理

Cookie 值取出来后怎么安全用在后续请求里

别直接拼接进 URL 或 Body。优先走 Postman 的变量注入机制:{{cookie_value}} 放在 Header、URL 参数或 Body 中,由 Postman 自动替换。

如果必须在脚本里动态构造(比如加签名),注意两点:

  • Cookie 值里可能含特殊字符(如 =、;),但 Postman 脚本里拿到的已是规范解码后的字符串,可直接用,无需额外处理
  • 如果目标接口校验 Cookie 的 Domain/Path,而你从 A 域取的 Cookie 用在 B 域请求里,服务端很可能拒绝——这时得用 jar().get() 显式指定目标 url,确保取的是该域下有效的 Cookie
  • 敏感 Cookie(如 refresh_token)不要 console.log,尤其别提交到 Git;Postman 的 Environment 变量比脚本内硬编码更可控

真正容易被忽略的是 Cookie 的生命周期匹配:脚本里取到的值,未必是最新一次响应设置的那个。Postman 的 Cookie jar 是累积更新的,但如果中间有请求没带 Set-Cookie,旧值会一直保留。调试时要确认你取的是哪次响应写入的值。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
软件测试常用工具
软件测试常用工具

软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

2023.10.13

5130

8

cookie
cookie

Cookie 是一种在用户计算机上存储小型文本文件的技术,用于在用户与网站进行交互时收集和存储有关用户的信息。当用户访问一个网站时,网站会将一个包含特定信息的 Cookie 文件发送到用户的浏览器,浏览器会将该 Cookie 存储在用户的计算机上。之后,当用户再次访问该网站时,浏览器会向服务器发送 Cookie,服务器可以根据 Cookie 中的信息来识别用户、跟踪用户行为等。

2023.06.30

12719

10

document.cookie获取不到怎么解决
document.cookie获取不到怎么解决

document.cookie获取不到的解决办法:1、浏览器的隐私设置;2、Same-origin policy;3、HTTPOnly Cookie;4、JavaScript代码错误;5、Cookie不存在或过期等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.23

1306

5

阻止所有cookie什么意思
阻止所有cookie什么意思

阻止所有cookie意味着在浏览器中禁止接受和存储网站发送的cookie。阻止所有cookie可能会影响许多网站的使用体验,因为许多网站使用cookie来提供个性化服务、存储用户信息或跟踪用户行为。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

884

5

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

2025.08.19

1966

14

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

20

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

40

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Postman Native Git工作流指南
Postman Native Git工作流指南

共0课时 | 0人学习

Postman Vault密钥管理指南
Postman Vault密钥管理指南

共0课时 | 0人学习

Postman集合运行器使用指南
Postman集合运行器使用指南

共0课时 | 0人学习