使用动态tumestamp的 Postman 标志查询

dy2hfwbg  于 2023-10-18  发布在  Postman
关注(0)|答案(1)|浏览(105)

我需要发送一个查询使用 Postman ,将发送使用POST多个变量。我的问题是其中一个变量需要动态计算,如下所示:
SHA256(API公钥+调用的日期和时间(YYYYMMDDHHNN))
我无法找到如何设置 Postman 自动生成此参数

rmbxnbpk

rmbxnbpk1#

你可以在预请求脚本中使用这样的脚本来生成值:

const moment = require('moment');
let time = pm.variables.replaceIn('{{$timestamp}}'),
    formattedTimestamp = moment.unix(time).format('YYYYMMDDHHNN'),
    APIPublicKey = '12345ABCDE';

pm.variables.set('token', APIPublicKey + formattedTimestamp);

APIPublicKey值替换为您的键以生成变量。这将创建一个可以在运行时使用的变量,并且不会存储在任何地方。使用这个变量就像将{{token}}添加到所需的请求区域一样简单。
使用CryptoJS和这些变量值:

const moment = require('moment');

let time = pm.variables.replaceIn('{{$timestamp}}'),
    formattedTimestamp = moment.unix(time).format('YYYYMMDDHHNN'),
    APIPublicKey = '12345ABCDE';

// Generate the hash using HMAC-SHA256 and encode to Base64
let hash = CryptoJS.HmacSHA256(APIPublicKey, formattedTimestamp).toString(CryptoJS.enc.Base64);

pm.variables.set('token', hash);

相关问题