模拟的虎扑app登录逻辑
import requests
import hashlib
import re
def login(username, password):
headers = {
'Host': 'games.mobileapi.hupu.com',
'user-agent': 'Mozilla/5.0 (Linux; Android 10; Redmi Note 8 Pro Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.101 Mobile Safari/537.36 kanqiu/7.5.57.12101/9095 isp/1 network/0',
'content-type': 'application/x-www-form-urlencoded',
}
data = {
'password': hashlib.md5(password.encode('utf-8')).hexdigest(),
'timeline': '1658555262',
'username': username,
'clientId': '108774952',
'crt': '1658555262476',
'night': '0',
'channel': 'error',
'client': '4c8f6a75d094a7a0',
'_ssid': 'PHVua25vd24gc3NpZD4=',
'_imei': '4c8f6a75d094a7a0',
'android_id': '4c8f6a75d094a7a0',
'time_zone': 'Asia/Shanghai',
'deviceId': 'BwEHDqdUu5BalI0Qujc05T5UKzTEHxYirVOU+MQFqzfxxLE2oqV6+kGvGwggv9jZWBwDQrg2C6HC7f1aJIwA00A==',
'oaid': '63c82ca94bbeecb0',
}
data = dict(sorted(data.items(), key=lambda x: x[0]))
str = ''
for key in data:
if len(str) > 0:
str += '&'
str += key + '=' + data[key]
str += 'HUPU_SALT_AKJfoiwer394Jeiow4u309'
print(str)
data['sign'] = hashlib.md5(str.encode('utf-8')).hexdigest()
print(data['sign'])
response = requests.post('https://games.mobileapi.hupu.com/1/7.5.57/bplapi/user/v1/loginByEmailPassword',
headers=headers, data=data)
print(response.text)
u = re.findall('"authToken":"(.*?):', response.text)
print(u)
login("17*******43", "1******8")