Postman怎么在脚本里新增请求头_Postman脚本添加Header写法

星浩大大_6518

星浩大大_6518

2026-11-08

381人浏览

原创

pm.request.headers.add()是唯一支持的动态添加Header方法;必须在Collection级Pre-request Script中调用,且需选中对应Environment;不可手动设置Content-Type(尤其multipart/form-data场景)。

postman怎么在脚本里新增请求头_postman脚本添加header写法

pm.request.headers.add() 是唯一能从脚本动态加 Header 的方法

Postman 的预请求脚本(Pre-request Script)里不能直接修改 pm.request.headers 对象本身,也不能用赋值或 push;必须调用 add() 方法。这是官方沙箱 API 唯一支持的写法,其他方式(比如 pm.request.headers['Authorization'] = ...)会静默失败,且不报错。

常见错误现象:

  • 脚本运行无报错,但请求发出后 Header 没出现
  • 误以为 set() 或 append() 存在,实际不存在
  • 在 Tests 脚本里调用 add() —— 无效,因为 Tests 在请求发出后执行

正确写法示例:

pm.request.headers.add({ 
  key: "Authorization", 
  value: "Bearer " + pm.environment.get("access_token") 
});

注意:add() 每次只接受一个对象,不能批量传入数组;重复添加同名 key 不会覆盖,而是并存(服务器通常只取第一个,行为不可靠)。

Header 名大小写敏感,但值里含空格要手动补全

HTTP 规范中 Header 名是大小写不敏感的,但 Postman 内部处理时对 key 字符串做精确匹配。虽然 authorization 和 Authorization 实际效果一样,但为避免协作混乱和调试困惑,统一用首字母大写驼峰式(如 Content-Type、X-Request-ID)更稳妥。

值部分要注意:

  • Bearer 后必须有且仅有一个空格,写成 "Bearer"+token 会导致 401
  • 如果 token 含特殊字符(如换行、制表符),pm.environment.get() 返回值可能带不可见符,建议先 .trim()
  • 不要在 value 中拼接 \n 或 \r —— HTTP Header 不允许换行

安全写法:

const token = pm.environment.get("access_token")?.trim();
if (token) {
  pm.request.headers.add({
    key: "Authorization",
    value: `Bearer ${token}`
  });
}

全局 Header 脚本必须放在 Collection 级 Pre-request Script

想让整个 Collection 下所有请求都自动带上某个 Header,脚本不能写在单个请求里,也不能写在环境(Environment)或全局(Globals)变量中 —— 那些地方只存数据,不执行逻辑。

Postman 12.27.7
Postman 12.27.7

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

下载

必须操作路径:

  • 右键目标 Collection → Edit
  • 切换到 Pre-request Script 标签页
  • 粘贴脚本(如上示例)
  • 确保右上角已选中对应 Environment(否则 pm.environment.get() 返回 undefined)

容易踩的坑:

  • 脚本写在 Request 级 Pre-request Script → 只影响当前请求,不是“全局”
  • 忘记选中 Environment → pm.environment.get() 返回空,Header 值变成 Bearer undefined
  • 在 Folder 级写脚本 → 只对该文件夹内请求生效,不是 Collection 全局

multipart/form-data 请求下,别碰自动生成的 Content-Type

上传文件时选了 form-data,Postman 会自动生成类似 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryxxx 的头。这个 boundary 是动态生成的,用于分隔字段与文件内容。

如果你在脚本里手动 add() 一个 Content-Type,或者在 Headers 标签页手动填入,就会覆盖掉原始头,导致服务器无法解析 multipart 数据,返回 400 Bad Request 或空响应。

正确做法:

  • 完全不要设置 Content-Type 头(无论是手动还是脚本)
  • 只添加其他必要头,比如 Authorization、X-Upload-Source
  • 如果 API 文档明确要求自定义 Content-Type(极少见),说明它不走标准 multipart 流程,应改用 binary 或 raw 模式

验证是否被覆盖:发请求前点开 Postman 底部的 Console,查看实际发出的请求头,确认 Content-Type 是否仍含 boundary= 参数。

复杂点在于:Header 的生效时机、作用域、与自动机制的冲突,三者叠加后问题常不报错却失效。最省事的排查路径是——打开 Console 看真实发出的请求头,而不是只信脚本有没有跑。

相关专题

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

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

2023.10.13

5110

8

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

0

10

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

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

2026.11.05

20

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

20

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

20

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

20

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

20

15

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

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

共0课时 | 0人学习