Postman 通過前置腳本設置時間戳和簽名等參數


在之前我們的接口添加的簽名驗證,而我自己常用Postman進行接口調試,為了能繼續調試接口,只能在Postman上動動手腳了。

聲明變量

在環境變量中添加timestampsign字段,字段名由實際情況調整修改,你也可以設置成全局或者集合變量,我個人是習慣在環境變量中設置。

wenhsing-2271964-20210327230736801-690514273.png

編寫Pre-request Script前置請求腳本

var timestamp = (new Date()).getTime()
var queryArr = pm.request.url.query || []
var tmp = ["timestamp" + timestamp]
queryArr.each(function (item) {
    // 過濾掉sign和timestamp參數
    if (item.key != "sign" && item.key != "timestamp") {
        tmp.push(item.key + item.value)
    }
})
// 將數據排序並合並成字符串
var str = tmp.sort().join("")
// 進行MD5加密
var sign = CryptoJS.MD5(str).toString()

// 設置時間戳
pm.environment.set("timestamp", timestamp);
// 設置簽名
pm.environment.set("sign", sign)

這里只獲取URL請求的參數進行簽名驗證,其他情況可以查看pm.request字段下的內容。

之所以過濾timestamp和sign兩個參數,不僅是因為簽名需要排除這個字段,還因為在請求前變量還是{{timestamp}}的形式,如果代入進行參數計算的話,是不會得到正確的結果的。

如果你的所有接口都需要進行前置腳本的操作,可以放到集合中的前置腳本中,它會自動應用到集合下的所有接口中。

在請求中添加變量

wenhsing-2271964-20210327230819538-1325825927.png

完成!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM