我正在尝试使用Postman发送一个GET http请求,其中包含一个参数,该参数是通过获取完整的请求查询字符串(在URL编码后,URL中问号右侧的所有内容)动态生成的,连接先前分配的共享密钥,然后执行生成的字符串的SHA-1哈希.
我会使用预请求脚本来实现这一目标.
谢谢.
解决方法:
我实际上找到了一个解决方案,并想分享它.
var params = [
["client_id", "222"]
,["account_id", ""]
];
// Build the request body string from the Postman request.data object
var requestBody = "";
var firstpass = true;
for(var i=0;i < params.length; i++) {
if(!firstpass){
requestBody += "&";
}
requestBody += params[i][0] + "=" + params[i][1];
firstpass = false;
postman.setGlobalVariable(params[i][0], params[i][1]);
}
requestBody += postman.getEnvironmentVariable("sharedSecretKey");
postman.setGlobalVariable("requestBody", requestBody);
var mac = "";
if(requestBody){
// SHA1 hash
mac = CryptoJS.SHA1(requestBody);
}
postman.setGlobalVariable("mac", mac);
然后我只需要在URL中设置参数:
{{的baseUrl}} /获取的client_id = {{CLIENT_ID}}&安培; ACCOUNT_ID = {{ACCOUNT_ID}}&安培; MAC = {{MAC}}
其中{{baseUrl}}是一个环境变量
和{{client_id}},{{account_id}}是全局变量
希望它对某人有所帮助.
谢谢.