Postman无一键复制响应正文按钮,但可通过切换Raw/Text模式复制JSON原始字符串,二进制响应需用Send and Download;Tests脚本中用pm.environment.set()提取并存变量,Header/Body中用{{key}}引用;响应头字段需用postman.getResponseHeader()或遍历headers获取,Cookie应启用自动持久化。

Postman 本身不提供“一键复制响应正文”的按钮,但有稳定、可复用的路径实现内容提取和复用,关键在于区分场景:是临时查看复制,还是为后续请求自动复用。
直接复制响应体(纯文本/JSON)
适用于快速查看、调试或粘贴到其他工具中比对。注意响应体是否已格式化:
- 若
responseBody是 JSON 且 Postman 自动美化了(显示为树状结构),点击右上角「Pretty」旁的「Raw」再选「Text」,才能复制原始字符串(含换行缩进) - 若响应是二进制(如 PDF、Excel),
responseBody显示为乱码,此时不能靠复制——应改用Send and Download按钮保存文件 - 浏览器 DevTools 的 Network 面板里右键响应 → “Copy response” 更快,但会丢失 Postman 的环境变量上下文
在 Tests 脚本中提取并设为变量
这是真正让返回值“活起来”的做法,常用于登录后取 token、分页取 next_cursor 等链式调用场景:
Postman 12.27.7 Windows x64 官方安装包,适用于 API 设计、调试、测试与协作。该系列包含 Enterprise 云端性能测试静态 IP 出口能力,以及接口规范标签管理改进,适合受限网络测试与规范资源组织场景。
- 响应是 JSON:必须先用
JSON.parse(responseBody),否则.data.token会报Cannot read property 'token' of undefined - 字段嵌套深时,建议加空值防护,例如:
pm.environment.set("user_id", (json.data?.user || {}).id || "") - 不要用
tests["xxx"] = true这种旧写法,它只做断言,不存值;一律用pm.environment.set()或pm.variables.set() - 若需在 Header 或 Body 中引用该变量,写法是
{{user_id}},不是${user_id}
复制响应头里的特定字段(如 Cookie、Authorization)
很多接口依赖响应头传递状态,比如 Set-Cookie 或 WWW-Authenticate,手动复制易出错:
- 用
postman.getResponseHeader("Set-Cookie")获取完整值;若只要其中某一段(如sessionid=abc123),需配合正则,例如:/(sessionid=[^;]+)/.exec(cookieStr)?.[0] - 若响应头含多个
Set-Cookie,postman.getResponseHeader()只返回第一个,要用pm.response.headers.all()遍历 - 设置 Cookie 到后续请求时,别直接往 Headers 里填
Cookie: xxx——Postman 会自动管理 Cookie Jar,更可靠的做法是启用Automatically persist cookies(Settings → General)
真正容易被忽略的是:Postman 的变量作用域(environment / collection / global)和生命周期。一次请求中设的变量,不会自动延续到下一次请求的 Pre-request Script 里——除非你明确用了 pm.environment.set() 并确保环境已选中。复制动作本身很简单,但让复制的内容“稳稳落地、准确流转”,才是实际工作中卡点最多的地方。










