使用

  1. 安装python3环境
  2. 安装requests库pip install requests

手机QQ打开网址

  1. 登录后点击最上面的“设备信息”,记住最后一项“msfImei”的值,填入代码的sIMei那里(可以先截屏然后用QQ的文字识别)

私信小编01即可获取大量python学习资源

  1. 修改自己想要的机型
  2. 运行代码,手机QQ扫描生成的QRCode.png并登录
  3. 查看效果(电脑端登录会覆盖好友看到的在线状态,但是只要电脑端退出并且手机QQ在线就会显示自定义机型)

效果

QQ首页效果

好友视角

python源代码:

-- coding:utf-8 --from requests import Session

Session自动保持cookie,加快连接速度,减少代码量from random import random

[0, 1)的随机数from time import time, sleep

获取时间戳需要用到time,等待用户需要用到sleepfrom re import search

正则匹配from json import loads, dumps

json字符串转python dictinterval = 1

检查登录状态的间隔(s)model = ‘在线但没有完全’

自定义机型sIMei = ‘d4661d1f8561364f’

填入sIMeix = Session()

实例化Sessionr = x.get(f’https://ssl.ptlogin2.qq.com/ptqrshow?appid=549000912&e=2&l=M&s=3&d=72&v=4&t={random()}&daid=5&pt_3rd_aid=0’)

获取二维码with open(‘QRCode.png’, ‘wb’) as f: f.write(r.content)

写入二维码print(‘请扫描二维码!(QRCode.png)’)sig = r.cookies[‘qrsig’]

获取qrsig

计算ptqrtoken, 参考https://www.jianshu.com/p/17ec959b7324e = 0for i in sig: e += e << 5

e += ord(i)token = str(2147483647 & e)while True:

循环检查是否登录

r = x.get(f’https://ssl.ptlogin2.qq.com/ptqrlogin?u1=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&ptqrtoken={token}&ptredirect=0&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=0-1-{int(time() * 1000)}&js_ver=10291&js_type=1&login_sig=&pt_uistyle=40&aid=549000912&daid=5&’)

接口

data = eval(r.text[6:])

返回数据过滤并转为tuple,以便分析 ‘’’

返回数据r.text示例
未扫码
二维码已失效: ptuiCB(‘65’,‘0’,’’,‘0’,‘二维码已失效。(853563202)’, ‘’)
二维码未失效: ptuiCB(‘66’,‘0’,’’,‘0’,‘二维码未失效。(4087375736)’, ‘’)
已扫码
等待认证: ptuiCB(‘67’,‘0’,’’,‘0’,‘二维码认证中。(3831518952)’, ‘’)
登录成功: ptuiCB(‘0’,‘0’,‘https://ptlogin2.qzone.qq.com/check_sig?pttype=1&uin={QQ号}&service=ptqrlogin&nodirect=0&ptsigx=65cedf5e96324d51637235fa67c4dc7da1254fe840595af1c02cad9f55e8ab37c5cdac262dffafdeeddd812b0e309cc7131f9102b6763185f44096dbadb650a4&s_url=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&f_url=&ptlang=2073&ptredirect=100&aid=549000912&daid=5&j_later=0&low_login_hour=0®master=0&pt_login_type=3&pt_aid=0&pt_aaid=16&pt_light=0&pt_3rd_aid=0’,‘0’,‘登录成功!’, ‘{QQ昵称}’) ‘’’
code = data[0] # 返回的登录状态代码(str类型)
if code == ‘66’:
print(‘二维码未失效,请扫码登录。’)
elif code == ‘0’:
print(‘登录成功!’)
flag = True
break elif code == ‘67’:
print(‘请在手机上确认。’)
elif code == ‘65’:
print(‘二维码已失效,请重启脚本!’)
flag = False
break
sleep(interval)

等待interval秒if flag:

登录成功

qq = search(r’&uin=(\d+)&service=ptqrlogin’, data[2]).groups()[0]

筛选获取qq号

计算g_tk,参考https://blog.csdn.net/qd_sharon/article/details/23393951 skey = x.cookies[‘skey’]

hash = 5381
for i in skey:
hash += (hash << 5) + ord(i)
g_tk = hash & 0x7fffffff
print(f"您已登录为:
{data[5]}({qq})")

登录提示

x.get(data[2])

跳转返回的验证页面

load = {

需要上传的数据

‘ts’: int(time()*1000),
‘g_tk’: g_tk,
‘data’: dumps({“13031”:{“req”:{“sModel”: model,“iAppType”:3,“sIMei”: sIMei,“sVer”:“8.8.3.5470”,“sManu”:"",“lUin”:int(qq),“bShowInfo”:True,“sDesc”:"",“sModelShow”: model}}}, separators=(’,’, ‘:’)),
‘pt4_token’: x.cookies[‘pt4_token’]
}
r = x.get(‘https://proxy.vac.qq.com/cgi-bin/srfentry.fcgi’, params=load).json()

请求接口

if r[‘ecode’] == 0: print(‘修改成功!’)
else:
print(‘修改失败!以下为返回数据:’)
print®input(‘运行结束!’)


这种玩法闻所未闻,利用python编程自定义QQ的在线状态相关推荐

  1. 连连看不一样的玩法,利用python进行图片相似度计算

    先放制作好的游戏视频链接:(纯粹是兴趣分享) 连连看不一样的玩法-图像相似度识别-python_单机游戏热门视频 https://www.ixigua.com/7076826558106698253? ...

  2. Redis高级玩法之利用SortedSet实现多维度排序的方法

    说明:本次实践基于Redis版本3.2.11. 关于SortedSet 首先,我们都知道Redis的SortedSet是可以根据score进行排序的,以手机应用商店的热门榜单排序为例,根据下载量倒序排 ...

  3. Python:利用python编程实现三维图像绘制展示(六面体旋转、三维球柱状体、下雪场景等)

    Python:利用python编程实现三维图像绘制展示(六面体旋转.三维球柱状体.下雪场景等) 目录 利用python编程实现三维图像绘制展示(六面体旋转.三维球柱状体.下雪场景等) 1.实现六面体旋 ...

  4. Python:利用python编程将上海十六区,2020年5月份房价实时地图(数据来源房天下)进行柱状图、热图可视化

    Python:利用python编程将上海十六区,2020年5月份房价实时地图(数据来源房天下)进行柱状图.热图可视化 目录 上海十六区,2020年5月份房价实时地图(数据来源房天下)可视化 雷达图.柱 ...

  5. pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存

    pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存 目录 输出结果 代码实现 输出结果 代码实现 # -*- codi ...

  6. 利用python绘制自定义棋盘格

    相机标定需要用到棋盘格,故利用python绘制自定义棋盘格 参考了站内代码,自己进行了修改,可以自定义棋盘格长宽和方块大小,并保存为图片. 安好numpy和opencv 拿来就能用. import n ...

  7. Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件

    Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 目录 利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 1.先下载ff ...

  8. 在jupter中利用Python编程查看pkl文件内容的步骤

    pkl文件是python保存文件的一种格式. 下面以 test.pkl 文件为例,展示在jupter中利用Python编程查看pkl文件内容的步骤. 一.查看Python代码所在的文件夹 import ...

  9. python 循环播放音乐_pyaudio:基于pyaudio利用Python编程实现播放音频mp3、wav等格式文件...

    基于pyaudio利用Python编程实现播放音频mp3.wav等格式文件 T1.while循环输出数据流的方法def play(): chunk=1024 #2014kb wf=wave.open( ...

最新文章

  1. 蜘蛛搜索引擎_各大搜索引擎的蜘蛛特点
  2. Android跳转intent简单教程
  3. 【渝粤教育】广东开放大学 社会调查与方法 形成性考核 (35)
  4. Asterisk 并发量到100后就出现拨打电话挂机问题
  5. Python被誉为神奇的“胶水语言”,到底神奇在哪?
  6. 基于vue2.0与追书神器api的小说阅读webapp
  7. Android学习分享:执行某ViewGroup的动画时,子控件太多导致动画执行卡顿的问题...
  8. 安卓电视盒子上 安装 Ubuntu 20.04 并安装 certbot 获取证书
  9. 如何用 nginx 做 postfix 的 SMTP 反向代理,以及 XCLIENT 的支持
  10. windows 编程入门资料
  11. dns被劫持怎么办,电信dns劫持解决办法
  12. HTML嵌入百度地图
  13. HTML(hiden控件 readonly disabled)(maxlength属性)(id属性重点)
  14. 永中word页码怎么从第二页开始_快捷的word文档转pdf好方法推荐
  15. windows7英文版变成中文版教程
  16. OFPPT-CTF 2022 部分writeup
  17. 网站建设项目流程概述
  18. 地理信息产业总产值今年将达2600亿元
  19. [Luogu P2713] 罗马游戏
  20. [转]BLDC电机控制算法是很难 那是你没搞清原理

热门文章

  1. git merge用法_Git 基本命令 merge 和 rebase,你真的了解吗?
  2. access订单明细表怎么做_图书销售订单明细表 (4)
  3. 算算是第几天的C语言程序,计算当日是该年的第几天---C语言
  4. linux的idle命令,DBA 常用Linux命令
  5. mybatisplus查询今天的数据_Spring系列——MybatisPlus
  6. java shiro登录实例_使用Shiro实现登录成功后跳转到之前的页面
  7. Linux通过SSH实现免密登录
  8. c语言程序设计案例教程肖利群,C语言程序设计案例教程
  9. java nio 系列教程 四_Java NIO系列教程(四) Scatter/Gather
  10. defaultvalue默认显示 请选择_使用Jenkins Git参数实现分支标签动态选择