Postman預處理自動生成簽名引數(sign)

2021-09-08 17:12:46 字數 2175 閱讀 1373

很多介面會有簽名引數,為了防止被惡意篡改引數,所以對所有引數用一定規則排列後+鹽再md5加密。

有些開發可能配置了在測試環境暫時遮蔽簽名,或者用乙個通用簽名。但其實完全可以在不破壞系統完整性的前提下,又能很輕鬆的讓postman根據規則自動生成簽名引數來進行測試。

這2條語句可以分別獲得body引數和url中的query引數。

原始碼如下:

let queryparam = pm.request.url.query.members;

let param = request.data;

let key =

"************"

;//簽名key

trycatch

(err)

//get & 合併get和post引數

for(

let i in queryparam)

//post

//取key

var keys =

;for

(let k in param)

keys.

push

(k);

}//排序

keys.

sort()

;//取value

var kv =

;for

(let k of keys)

//拼接

var sign = kv.

join

('&');

sign = sign + key;

console.

log(sign)

;sign = cryptojs.

md5(sign)

.tostring()

;console.

log(sign)

;//設定環境變數

postman.

setenvironmentvariable

("sign"

, sign)

;

ps: 不同公司、不同介面規則不同,例如不需要urlencode、不需要排序的請自行修改指令碼

再用}從環境變數中取出sign值。

成功請求

這段指令碼相容get引數、以及表單形式的body和json形式的body

通過設定環境變數,我們可以把登入介面返回的認證資訊存起來,之後其他介面可以直接從環境變數中獲取。達到保持登入狀態的效果。

先在登入介面的tests中獲取token引數並放到環境變數中

//設定token

var responedata =

json

.parse

(responsebody)

;//把響應結果轉為json物件

pm.environment.

set(

"token"

, responedata.data.token)

;//從響應結果json物件中獲取到token引數,並放到環境變數

console.

log(

"token: "

+ responedata.data.b_token)

;

然後在業務介面的頭資訊中,用}方式從環境變數中獲取token實際值。

Postman介面自動化3 前置指令碼 介面簽名加密

前置指令碼是在介面之前先執行,通常用於做一些引數的處理 常見操作 a.環境變數獲取 修改 具體見下方舉例,在前置請求指令碼中將資料定義為環境變數,在body中引用 b.全域性變數獲取 修改 沒有舉例 c.請求資料的處理 加密 邏輯處理等 具體見下方舉例,md5加密的引數,先在前置請求指令碼中定義,然...

fasttaxt 資料預處理和生成詞向量

資料預處理 1,符號處理 def go split s,min len 拼接正規表示式 symbol symbol symbol 一次性分割字串 result re.split symbol,s return x for x in result if len x min len def is dup...

特徵預處理和特徵生成 三 缺失值的處理

填充nan的方法要取決於特定情況!填充缺失值常用的方法有以下三種 需要注意的是有時候缺失值已經被組織者替換了!通常情況下,在特徵生成之前要避免填充nans!1,二值特徵isnull可能會很有用,它指明了哪些特徵是缺失值,可以看做乙個類別特徵。在計算平均值或中位數時,這種方法可以解決樹和神經網路的問題...