问题描述
python进行接口测试,请求参数进行了加密处理,查看网页源码是通过JavaScript进行加密处理,以这篇文章中的问题为例子
解决思路
解决办法就是对参数进行加密,调用执行JavaScript
操作步骤
- 把涉及到的aes.js文件保存下来,重命名为
encryp.js
- 把涉及到的
aesEncrypt、encode64
方法添加到encryp.js
文件中 - python代码中调用js,对需要加密的字符串进行加密
#coding=utf-8
import requests
import execjs
file="C:\\Users\\Administrator\\Desktop\\encryp.js"
with open(file,encoding="utf-8") as f:
data=f.read()
js=execjs.compile(data) #编译js代码
user_aes=js.call("aesEncrypt","username")# 调用aesEncrypt函数对username进行加密
user=js.call("encode64",user_ase) #调用encode64对user_aes进行加密