postman 根据body 自动为 headers 生成加密key

  postman 根据body 自动为 headers 生成加密key

  最近对接了一个第三方的项目,其实请求比较简单,就是发起request 请求,但是比较恶心的是,header 头内有个key 是根据请求body 加密生成。

  其实使用python 也是比较简单的,写好方法,调用就可以。

  但是本人在调用数据较多的查询接口时,还是喜欢使用postman 的,毕竟查看数据比较方便(当然python 也可以,如果使用requests 方法时,直接print(json.dumps(resp.text, indent=4, ensure_ascii=False)) 查看的)

  今天的主题是用postman 自动生成。

  • 数据查询

  postman 根据body 自动为 headers 生成加密key

 

 

   request 请求Code

  

curl --location --request POST 'http://test.com/dealinsured/queryInsuredinfo.jsp' \
--header 'Content-Type: application/json' \
--header 'title-key: {{title-key}}' \
--data-raw '{
    "company_code": "",
    "make_date": "2022-01"
}'
    • 代码测试
    • 1. 在 Tests 进行代码测试

postman 根据body 自动为 headers 生成加密key

postman 根据body 自动为 headers 生成加密key

2. 打开console 输出 View -> Show Postman Console

      postman 根据body 自动为 headers 生成加密key

  3. js test 代码

    

// 数据去空格
var body = pm.request.body.raw.replace(/\s+/g,"")
var list = body.split("&")
var data = ""
list.sort()
for (var i in list){
    if (list[i].split("=")[0] == "sign"){
        continue
    }
    data += list[i]
    data += "&"
}
data += ("key")
var md5 = CryptoJS.MD5(data).toString();
console.log(md5)
pm.environment.set("title-key", md5)

  4. 在输出中对比跟程序中生成的key 是否一致

  • Pre-request Script 

  把Tests 的代码复制到 Pre-request Script

  • 设置变量

  1. 打开设置

    postman 根据body 自动为 headers 生成加密key

 

  2. 新增

    postman 根据body 自动为 headers 生成加密key

 

  3. 新增环境变量

    postman 根据body 自动为 headers 生成加密key

 

  • 设置headers

    postman 根据body 自动为 headers 生成加密key

 

  •  发起请求

  postman 根据body 自动为 headers 生成加密key

 

 成功,挺简单的

上一篇:使用request+lxml实现简单的爬虫爬取简历模版


下一篇:CVE-2017-12615 Tomcat PUT方法任意写文件漏洞