3.复制以下代码到postman上
const crypto = require('crypto-js')
const secret_key = " K4ALMI1PM1T3X0235RSI"
const secret_id = " 41GV47B3ZQ"
let expires = new Date().getTime()+604800000 //过期时间
const body = pm.request.body
const md5Bytes = crypto.MD5(""+body+"")
const contentMD5 = CryptoJS.enc.Base64.stringify(md5Bytes)
const path = pm.request.url.getPath()
let canonicalizedResource = path.replace('/', '')
// 参数排序
let sortedParams = []
pm.request.url.query.each(p=>{
if(p.key === '{{query_para}}'){
return
}
if (sortedParams.length == 0){
sortedParams.push(p)
}else{
let inserted = false
for(var i =0; i < sortedParams.length; i++){
if(sortedParams[i].key > p.key){
sortedParams.splice(i, 0, p)
inserted = true
break
}
}
if (!inserted){
sortedParams.push(p)
}
}
})
if(sortedParams.length>0){
canonicalizedResource += '?'
sortedParams.forEach(p=>{
canonicalizedResource += `${p.key}=${p.value}&`
})
canonicalizedResource = canonicalizedResource.substring(0, canonicalizedResource.length-1)
}
const stringToSign = `${secret_id}\n${expires}\n${pm.request.method}\n${contentMD5}\n${canonicalizedResource}`
let hash = crypto.HmacSHA1(stringToSign, secret_key)
let sign = hash.toString(crypto.enc.Base64)
//使用header验证,需要header中添加 Authorization {{auth_header}}
let authInfo = `HRESS${secret_id}:${expires}:${sign}`
pm.collectionVariables.set("auth_header", authInfo)
//使用uri验证,需要url后加 ?{{query_para}}
pm.collectionVariables.set("query_para", `ak=${secret_key}&expires=${expires}&sign=${sign}`)