2.初次尝试目标:XX登录接口测试
登录接口: …/passports/mobile
登录数据: Data = {…}
请求头信息:headers = {…}
import requests
# 2.调用post
url_login = "...隐藏.../passports/mobile"
headers = {"Content-Type": "application/json",
"xxx-api-auth":"...隐藏...",
"user-agent":"...隐藏...",
}
data = {"...隐藏..."}
r = requests.post(url_login,json=data,headers=headers)
# 3.验证是否登录成功_登录失败
print(r.json())
输出:
{'error': -6, 'message': '无效的客户端设备', 'data': {}}
3.解决
通过抓包,获取客户端信息填入请求头
xxx-client-info:{"platform":"web",
"appVersion":"x.x.0",
"requestTime":"1645162978539"}
输出:
must be of type str or bytes, not
导入json库,使用json.dumps()把多余的嵌套变成字符串,填入请求头中
import json
# 2.调用post
url_login = "...隐藏.../passports/mobile"
headers = {"Content-Type": "application/json",
"xxx-api-auth":"...隐藏...",
"user-agent":"...隐藏...",
"xxx-client-info":json.dumps({"platform":"web",
"appVersion":"1.8.0",
"requestTime":"1645162978539"})
}
问题得到解决,登录成功
{'error': 0, 'data': {...}



