吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7915|回复: 31
收起左侧

[Python 转载] Python QQ扫码登录(无需注册开发者)

  [复制链接]
雪辉 发表于 2021-5-20 21:25
本帖最后由 雪辉 于 2022-5-31 15:26 编辑

[Python] 纯文本查看 复制代码
# 案例为盗用腾讯网的QQ登录-扫码登录
# 可以自己改成其他网址去盗用QQ登录
# 盗用的好处是,无需自己注册腾讯开发者,无需自己有一套网址去申请应用
# Get_QQ返回QQ号,也可以获取到QQ头像、好友等其他信息,请勿用于非法行为

import requests
import time
import re
from PIL import Image


def Get_bkn(pSkey):
    # 计算bkn
    t, n, o = 5381, 0, len(pSkey)
    while n < o:
        t += (t << 5) + ord(pSkey[n])
        n += 1
    return t & 2147483647


def Get_ptqrToken(qrsig):
    # 计算ptqrtoken
    n, i, e = len(qrsig), 0, 0
    while n > i:
        e += (e << 5) + ord(qrsig[i])
        i += 1
    return 2147483647 & e


def Get_QRcode():
    # 获取 腾讯网 二维码
    url = 'https://ssl.ptlogin2.qq.com/ptqrshow?appid=549000912&e=2&l=M&s=3&d=72&v=4&t=0.8692955245720428&daid=5&pt_3rd_aid=0'

    try:
        r = requests.get(url)
        qrsig = requests.utils.dict_from_cookiejar(r.cookies).get('qrsig')

        with open(r'QQ.png', 'wb') as f:
            f.write(r.content)
        im = Image.open(r'QQ.png')
        im = im.resize((350, 350))
        im.show()
        print(time.strftime('%H:%M:%S'), ' 登录二维码获取成功')
        return qrsig
    except Exception as e:
        print(time.strftime('%H:%M:%S') + " 获取二维码报错" + str(e))
        print('第' + str(e.__traceback__.tb_lineno) + '行文件报错')


def Get_QQ():
    global qq_number
    # 获取cookie
    qrsig = Get_QRcode()
    ptqrtoken = Get_ptqrToken(qrsig)
    while True:
        url = 'https://ssl.ptlogin2.qq.com/ptqrlogin?u1=https%3A%2F%2Fqzs.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&ptqrtoken=' + str(
            ptqrtoken) + '&ptredirect=0&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=0-0-' + str(
            time.time()) + '&js_ver=20032614&js_type=1&login_sig=&pt_uistyle=40&aid=549000912&daid=5&'
        cookies = {'qrsig': qrsig}

        try:
            r = requests.get(url, cookies=cookies)
            if '二维码未失效' in r.text:
                print(time.strftime('%H:%M:%S'), ' 二维码未失效')
            elif '二维码认证中' in r.text:
                print(time.strftime('%H:%M:%S'), ' 二维码认证中')
            elif '二维码已失效' in r.text:
                print(time.strftime('%H:%M:%S'), ' 二维码已失效')
                qrsig = Get_QRcode()
                ptqrtoken = Get_ptqrToken(qrsig)
            else:
                print(time.strftime('%H:%M:%S'), ' 登录成功')

                qq_number = re.findall(r'&uin=(.+?)&service', r.text)[0]
                return qq_number
        except Exception as e:
            print(time.strftime('%H:%M:%S') + " 获取cookie报错" + str(e))
            print('第' + str(e.__traceback__.tb_lineno) + '行文件报错')
        time.sleep(2)


if __name__ == '__main__':
    print(Get_QQ())

免费评分

参与人数 5吾爱币 +5 热心值 +5 收起 理由
subney + 1 + 1 热心回复!
gunxsword + 1 + 1 谢谢@Thanks!
刹那光华 + 1 + 1 我很赞同!
卡戎 + 1 + 1 谢谢@Thanks!
joneqm + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

西湖老品丶 发表于 2021-5-21 00:03
没什么用、、
 楼主| 雪辉 发表于 2021-5-21 11:44
剑来…… 发表于 2021-5-21 09:55
不太明白这个东西的应用场景。。,楼主可以详细说说吗,感觉挺有意思的。。还有楼主你少导入了一个re包

应用场景,就是python写了一个程序,但是需要用到扫码登录,就能通过这个方法去直接扫码登录。
无需去注册开发者账号和申请腾讯关联应用。这个申请需要自己有一套网站或手机app才能申请。太麻烦了
KunGe. 发表于 2021-5-20 21:30
尘封_ 发表于 2021-5-20 21:44
这个好东西。学习了。
saoxu 发表于 2021-5-20 22:08
这么简单的代码。。。
莱因哈特 发表于 2021-5-20 23:18
可以写一个抢红包的吗?
siyingqi3820 发表于 2021-5-20 23:43
学到了,真不错
矢志不渝 发表于 2021-5-20 23:59
学习学习,感谢分享。点赞
Mr-Golden-Week 发表于 2021-5-21 00:21
感觉不错,马上研究研究
zws29153 发表于 2021-5-21 00:25
感谢分享 感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 21:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表