[TOC]
### 使用场景
1. 已知前端js签名方法
在接口测试时,在前端抓包中,发现一个复杂的签名字段,我们可以通过取巧的方式,直接引用前端签名的js进行签名。
### python引用js示例
`requirements.txt`:
```
PyExecJS==1.5.1
```
示例:
```python
import requests
import execjs
def get_rf_psswd(pwd):
resp = requests.get("http://xxx.com/js/crypt.js")
ctx = execjs.compile(resp.text) # 加载JS文件
return ctx.call("md6", pwd) # 调用js,执行js中的md6函数,pwd是md6函数的入参
def login(user, pwd):
data = {
"terminal": "pc",
"login_type": "login",
"username": user,
"password1": "",
"password": pwd,
}
resp = requests.post("http://xxx.com/login", data=data)
return resp
if __name__ == '__main__':
pwd = get_rf_psswd("123456789")
print(pwd)
```
<hr style="margin-top:100px">
:-: ![](https://box.kancloud.cn/2ff0bc02ec938fef8b6dd7b7f16ee11d_258x258.jpg)
***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***