当前位置: 首页 > news >正文

Postman遇到脚本不支持replaceIn函数

目录:

    • 1、问题现象
    • 2、代码处理
    • 3、执行结果

1、问题现象

在这里插入图片描述

2、代码处理

function replaceVariables(template) {// 获取所有变量(环境变量+全局变量)const variables = pm.environment.toObject();const globalVars = pm.globals.toObject();const allVars = {...globalVars, ...variables};let result = template;// 替换所有 {{variable}} 格式的变量for (const [key, value] of Object.entries(allVars)) {const regex = new RegExp(`\\{\\{${key}\\}\\}`, 'g');result = result.replace(regex, value);}return result;
}
var appId='xxxxxxxxxxxx'
var appKey='xxxxxxxxxxxxxxxx'
// console.log(`appId=${appId}, appKey=${appKey}, appToken=${appToken}`)
function replaceVariables(template) {// 获取所有变量(环境变量+全局变量)const variables = pm.environment.toObject();const globalVars = pm.globals.toObject();const allVars = {...globalVars, ...variables};let result = template;// 替换所有 {{variable}} 格式的变量for (const [key, value] of Object.entries(allVars)) {const regex = new RegExp(`\\{\\{${key}\\}\\}`, 'g');result = result.replace(regex, value);}return result;
}
// 获取请求信息
var method = 'POST'
var path='/api/xxx/sync/v1/xxx'
var body=replaceVariables(pm.request.body.toString());
console.log(`‘111111’+${body}`)
var contentType="application/json"
var dateString = new Date().toGMTString();
var authorization = "";
if(body==""){console.log(`[${method}] ${path}`)authorization = 'xxx-4' + method + path + contentType + dateString 
} else {console.log(`[${method}] ${path}\n${body}`)authorization = 'xxx-4' + method + path + contentType + dateString +  CryptoJS.SHA256(body).toString(CryptoJS.enc.Hex)
}console.log(`authorization ${authorization}`)
authorization = CryptoJS.HmacSHA256(authorization, appKey).toString(CryptoJS.enc.Hex)
authorization = 'xxx-4 ' +appId + ':' + authorization
console.log(`authorization11 ${authorization}`)
// 设置请求头
pm.request.headers.upsert({key: 'xxx-Docs-Date',value: dateString
})
pm.request.headers.upsert({key: 'Content-Type',value: contentType
})
pm.request.headers.upsert({key: 'xxx-Docs-Authorization',value: authorization
})
// console.log(pm.request.getHeaders());

3、执行结果

在这里插入图片描述

原先自己尝试写死去构造json转字符串,带入签名一直不通过,尝试使用代码替换可行,特此记录一下。

相关文章:

  • 3D个人简历网站 4.小岛
  • BootCDN介绍(Bootstrap主导的前端开源项目免费CDN加速服务)
  • 【技巧】GoogleChrome浏览器开发者模式查看dify接口
  • DeepSeek赋能电商,智能客服机器人破解大型活动人力困境
  • AtomicInteger
  • 信息收集+初步漏洞打点
  • springboot配置tomcat端口的方法
  • 单细胞转录组(3)
  • DAY28-类的定义和方法
  • 深入解析Spring Boot与Spring Security的集成实践
  • 无线数传模块支持园区多节点电力参数同步监测配置指南
  • Java 注解篇:@RequestMapping
  • 大模型技术演进与应用场景深度解析
  • LVGL- Calendar 日历控件
  • 联想笔记本黑屏了,排线出问题还是静电
  • jvm安全点(三)openjdk17 c++源码垃圾回收之安全点结束,唤醒线程
  • Mysql 8.0.32 union all 创建视图后中文模糊查询失效
  • 数字电子技术基础(五十九)——脉冲触发的触发器
  • (8)python开发经验
  • 开源安全大模型Foundation-Sec-8B实操
  • 从良渚到三星堆:一江水串起了5000年的文明对话
  • 特朗普:将于19日分别与普京和泽连斯基通话
  • 小米汽车回应部分SU7前保险杠形变
  • 用贝多芬八首钢琴三重奏纪念风雨并肩20年
  • 学者三年实地调查被判AI代笔,论文AI率检测如何避免“误伤”
  • 会谈时间迟迟未定、核心议题存在分歧,俄乌“土耳其谈判”一波三折