APIFOX脚本及外部程序使用教程
APIFOX脚本及外部程序说明
如何配置脚本
1.
2.
3.
如何使用脚本
1.
2.
3.
4.
脚本文件
私钥设置脚本
var privateKey='用户私钥';
pm.variables.set("privateKey", privateKey);
请求脚本
// 设置请求格式
pm.request.headers.upsert({ key: "Content-Type", value: "application/x-www-form-urlencoded;charset=UTF-8" });
// 设置请求参数
var queryParams = pm.request.url.query;
// 动态设置当前时间
var date = new Date();
var time = date.getFullYear().toString() + pad2(date.getMonth() + 1) + pad2(date.getDate()) + pad2(date.getHours()) + pad2(date.getMinutes()) + pad2(date.getSeconds());
function pad2(n) { return n < 10 ? '0' + n : n };
// 赋值时间
queryParams.upsert({
key: 'timestamp',
value: time,
});
// 获取配置的私钥
var privateKey = pm.variables.get("privateKey");
// 获取body信息,将body信息转换成bizContent传输
var bodys = pm.request.body.raw;
//console.log("请求前面:"+bodys);
var jsonstr = bodys.replace(/'/g, '"');
var body_str = JSON.stringify(JSON.parse(jsonstr));
//console.log("转换后"+body_str);
//body_str = body_str.substring(1, body_str.length - 1);
pm.request.body.update({
mode: 'urlencoded',
urlencoded: [{
key: 'bizContent',
value: body_str
}]
});
var signObject = queryParams.toObject();
signObject.bizContent = body_str
// 读取所有待验签的数据
var sign_str = JSON.stringify(signObject);
console.log(pm.request.body);
// 调用SDK包进行验签
console.log(pm.request.url.query);
try {
var sign = pm.execute('test-sdk.jar', [sign_str, privateKey], {
className: 'util.TestUtil',
method: 'sign',
paramTypes: ['String', 'String'],
})
// 签名数据传输会把 + 号变成空格,将+号数据转换
console.log("sign"+sign);
sign = encodeURIComponent(sign);
queryParams.upsert({
key: 'sign',
value: sign,
});
} catch (e) {
console.error(e.message);
}
外部程序
外部程序的配置
1.
2.
外部程序下载地址
修改于 2023-06-17 01:16:36