使用Python模拟登陆虎扑,获取cookies

模拟的虎扑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',
        # 'x-hupu-token': '',
        'content-type': 'application/x-www-form-urlencoded',
        # 'content-length': '438',
        # 'accept-encoding': 'gzip',
    }

    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',
        # 'sign': 'fa740b611aa382631c13e71eda1e8427'
    }
    # 用字典的键按字典序排序
    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)
    # 计算sign,所有参数按字典序排序后拼接计算字符串md5得到sign签名,放入请求体中
    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)  # u是用于身份验证的参数
    print(u)


login("17*******43", "1******8")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值