Postman 驗簽 (Pre-request Script )

通過postman的Pre-request Script 可以實現(xiàn)參數(shù)驗簽。
Pre-request Script是基于 Node.js 的強大運行時,它允許我們向請求和集合中添加動態(tài)行為。允許我們編寫 API 測試、構(gòu)建可以包含動態(tài)參數(shù)的請求、在請求之間傳遞數(shù)據(jù)等等。您可以添加兩種情況下的 JavaScript 代碼:

  1. 在請求發(fā)送到服務(wù)器之前,在“Pre-request Script”選項卡中編寫預(yù)請求腳本;
  2. 收到響應(yīng)后,在 “ Test”選項卡中編寫測試腳本。

參考文檔: https://postman.org.cn/writing-scripts/intro-to-scripts/

image.png

完整腳本:

const uuid = require("uuid")

function getTimestamp(){
    var time=new Date().getTime();
    pm.environment.set("time", time);
    return time;
}

function getRandom(){
    var random= uuid.v4().replace(/-/g, '');
    pm.environment.set("uuid", random);
    return random;
}

function getSign(){
    var random = getRandom();
    var body = pm.request.body.raw;
 
    var str= body+ random;
    var sign = CryptoJS.MD5(str).toString().toLowerCase();
    sign = sign.slice(0, 10) + random + sign.slice(-22);
    console.log(sign);
    console.log(random);
    console.log(time);
    return sign;
    
}

pm.request.headers.add({key: 'x-sign',value: getSign()});
pm.request.headers.add({key: 'x-source',value: 'postman'});

//將其他header添加到請求頭
Object.keys(request.headers).forEach(key => {
    console.log(key);
    pm.request.headers.add({key: key,value:request.headers[key]});
});

Pre-request Script | 外部庫的使用

https://juejin.cn/post/7214005088510394428

header操作

// 添加新 header
pm.request.headers.add({key: 'Accept-Encoding',value: 'gzip'});

// 添加或修改已存在 header
pm.request.headers.upsert({key: 'Connection',value: 'close'});

// 移除 header
pm.request.headers.remove('User-Agent')

獲取body

pm.request.body.raw

獲取body中的password參數(shù)

var body = pm.request.body.raw
var body_json = JSON.parse(body)  
pwd = body_json["password"]
console.log(pwd)  在console打印pwd參數(shù)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容