Postman如何将程序或批处理的stdout输出设置为HTTP请求头的值
Postman动态读取本地批处理输出作为请求头实现方案
实现步骤
- 开启Postman外部程序执行权限
打开Postman设置页 -> 进入【General】选项卡 -> 开启Allow running external programs开关,保存设置。 - 配置预请求脚本
在你需要调用的接口/所属集合的「Pre-request Script」标签下,填入以下代码:
// 执行本地令牌生成批处理 pm.exec('cmd.exe', ['/c', 'C:\\你的脚本存储路径\\GenerateToken.bat'], (error, stdout, stderr) => { if (error) { console.error('令牌生成错误:', error, stderr); throw new Error('获取动态令牌失败,请检查批处理配置'); } // 清理输出内容中的换行、首尾空白后存入变量 const generatedToken = stdout.trim(); // 可根据需要选择存为集合变量/环境变量/全局变量 pm.collectionVariables.set('auto_generated_token', generatedToken); });
- 配置请求头
进入接口的「Headers」配置页,新增认证头参数:
- Key:你的API要求的认证头字段名,通常为
Authorization - Value:如果需要前缀就写
Bearer {{auto_generated_token}},直接用令牌就填{{auto_generated_token}}
配置完成后的效果如下:
注意事项
- 批处理文件路径如果是绝对路径,需要将路径中的单个反斜杠
\转义为双反斜杠\\ - 批处理文件不要输出多余日志、不要加pause等阻塞命令,最终只输出令牌字符串即可
- 执行异常可打开Postman控制台(View -> Show Postman Console)查看具体错误信息
内容的提问来源于stack exchange,提问作者sashoalm
相关产品推荐
相关产品推荐

