webQQ协议——模拟登录_模拟器走协议登录qq-程序员宅基地

技术标签: python  webQQ  模拟登录  

2014/06/28修改

添加了验证码操作


2014/06/28修改

之前的写得实在太烂了, 所以重写了代码

流程:

1. 访问一次框架的源码(地址), 获取login_sig, appid, pt_version, mibao, pt_lang等参数;


2. 访问获取验证码的地址, 获取验证码(如果需要输入验证码, 则需要再访问其返回的获取验证码的地址, 通常不用验证码的话, 第二个参数就是验证码);


3. 根据QQ号, QQ密码, 验证码的值计算得出p的值(第一次登录需要用到, 计算方法在PSWEncrypt模块中);


4. 构建相关的Form, 并对地址(https://ssl.ptlogin2.qq.com/login)发送请求(必须使用Get方法, Post会出错),  登录成功后会返回一些参数, 例如二次登录需要访问的地址等, 其中ptwebqq在cookie中, 需要另外获取。。;


5. 访问一次第一次登录时返回的地址, 构建相关的Form(参数大多在之前已经得到了, 其中clientid参数在数字10000000-99999999中随便选一个就行了), 并向地址(http://d.web2.qq.com/channel/login2)发送请求, 登录成功后会返回相关的参数, 如uin, status, vfwebqq, psessionid等, 保存下来, 后面其他操作会用到的。


6.至此, webqq登录已经完成。


相关代码:

WebQQLogin.py

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq506657335/article/details/20801793

智能推荐

2022年编程语言热度排行榜来啦,快来看看你学习的语言排第几_2022年编程语言排行榜-程序员宅基地

文章浏览阅读4.9k次。一直以来,编程语言都是程序员非常关注的话题。年末将至,是否会有程序员发出疑问——“2022 年行业需求最大的编程语言,花落谁家?”从 2021 年 10 月到 2022 年 11 月,DevJobsScanner 分析了超过 1200 万个开发人员职位。从这 1200 万份工作中,DevJobsScanner 挑选了明确需要编程语言的工作岗位。现在,一起回顾 2022 年行业需求最大的 8 种编程语言。_2022年编程语言排行榜

开发日志[1] 错误:未能找到引用的组件“System.Windows.Forms.DataVisualization”_system.windows.forms.datavisualization netframewor-程序员宅基地

文章浏览阅读696次。错误:未能找到引用的组件“System.Windows.Forms.DataVisualization”原因:代码中是MSChart表格插件未在当前系统中安装。解决:下载对应版本的MSChart.exe安装程序,安装后再次在项目中添加引用即可。相关:......_system.windows.forms.datavisualization netframework 3.5.1

一阶跃函数c语言程序设计教程课后答案,最新整理c语言上机操作题参考.doc-程序员宅基地

文章浏览阅读628次。最新整理c语言上机操作题参考实验一 上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、了解C语言程序的特点与基本结构。2、了解C语言程序的编译环境。3、掌握使用C语言编写和调试程序的流程:编辑-保存-编译-构建(组件)-执行。4、掌握C语言程序在Visual C++ 6.0环境下的调试过程。5、初步了解C程序的特点。三、实验内容:说明:前三题为必做题目,第四题为选做题目。1、编辑实验..._编写程序,通过输入x的值,计算阶跃函数y的值

使用c++输入字符串和输出字符串的一种方法_c加加中字符串如何一个一个输出-程序员宅基地

文章浏览阅读4.8k次。#include#include//或者#includeusing namespace std;int main(){ char ch[20]; cin>>ch; for(int i=0;i cout}return 0;}_c加加中字符串如何一个一个输出

创建机器人urdf模型并在rviz中展示(利用roboware studio)_5)创建机器人的urdf文件,在rviz中显示并移动机器人。 详细记录移动机器人模型设计-程序员宅基地

文章浏览阅读5k次,点赞9次,收藏44次。注:本文利用roboware studio工具建立urdf模型创建机器人描述功能包右键单击工作空间catkin_ws/src文件夹,点击新建ROS包,将功能包命名为mrobot_description,如下:手动添加功能包依赖项,打开CMakeLists.txt文件,如图所示添加urdf、xacro在功能包中新建四个文件夹,分别为urdf:用于存放机器人模型的urdf或者xacro文..._5)创建机器人的urdf文件,在rviz中显示并移动机器人。 详细记录移动机器人模型设计

嵌入式系统设备驱动接口的C#编程_c# 调用驱动-程序员宅基地

文章浏览阅读3.2k次。英创ARM9系列嵌入式主板,均预装了WinCE 5.0、WinCE 6.0操作系统,用户可使用标准的C/C++或C#进行应用程序的开发。英创的嵌入式板卡一大特色就是提供了丰富的通讯接口,并实现了相应的驱动程序,用户只需直接调用相应的接口函数即可实现。 在使用C#进行应用程序开发时,由于C#无法使用C++的静态库函数,对于一些流式驱动设备,比如ISA,GPIO,WDT,CAN_c# 调用驱动

随便推点

ES(Elasticsearch)7.6.1安装教程_安装elasticsearch-程序员宅基地

文章浏览阅读5.8k次,点赞4次,收藏21次。ES 安装教程注意:除了最后启动ES的时候在es账户下执行,其他都是在root 下执行的。⼀、前期准备java 11 的安装,请大家自行安装。elasticsearch启动不能以root⽤户运⾏,所以创建es⽤户(root⽤户状态下操作)useradd espasswd es然后输入两次:zong2015如果需要删除用户userdel -r es将elasticsearch⽤户添加到sudoersvim /etc/sudoers..._安装elasticsearch

spring boot>>RabbitMQ中间件发送验证码_basevo依赖-程序员宅基地

文章浏览阅读2.1k次。起因:短信发送的应用场景非常多,在较大的系统中,短信一般作为单独的服务独立运行,而短信发送任务的触发基本有两种方式。1、定时获取Redis中短信发送任务,2、消息中间件订阅短息任务队列。RabbitMQ订阅短信:短信服务:短信服务为独立工程。将阿里云 SmsServer抽取为工具类。1、pom依赖: <!--RabbitMQ-->&..._basevo依赖

uiautomatorviewer拉取手机竖屏却显示为横屏的问题_uiautomatorviewer方向倒了-程序员宅基地

文章浏览阅读2.4k次,点赞3次,收藏3次。uiautomatoruiautomatorviewer拉取手机竖屏却显示为横屏的问题拉取的页面显示解决方法将保存下来的图片进行旋转,旋转为竖屏显示并保存点击open,导入图片和uix格式文件显示正常uiautomatorviewer拉取手机竖屏却显示为横屏的问题拉取的页面显示解决方法点击save将保存下来的图片进行旋转,旋转为竖屏显示并保存点击open,导入图片和uix格式文..._uiautomatorviewer方向倒了

加密技术简介-程序员宅基地

文章浏览阅读1.3w次,点赞7次,收藏32次。参考文章:信息加密技术简介 [浅谈加密技术](https://blog.csdn.net/fanyunda1988/article/details/50897216)加解密简介加解密分类常见的加密技术介绍其余问题,有关于AES 和 RSA 加密技术,对称加密,非对称加密。优点和缺点,以及API会用, 加密的原理。涉及到位运算。让你走一个算法的话你会怎么走? HTTP 和 H..._加密技术

使用迭代器Iterator遍历Collection_.keyset().iterator().next()-程序员宅基地

文章浏览阅读1.1k次。实现LRU算法时,发现使用java的LinkedHashMap时如果删除队头元素(最长时间未访问的元素),需要coll.remove(coll.keySet().iterator().next());因为Map中元素无序,根据key的hashCode()排序,而LinkedHashMap虽然有序,但是无法获取队头和队尾元素,所以只能采用迭代器模式。java.utils包下定义的迭代器接口:Iterator。Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的_.keyset().iterator().next()

日常Java练习题(每天进步一点点系列)_callable的call方法返回值-程序员宅基地

文章浏览阅读1.5w次,点赞147次,收藏252次。提示:好多小伙伴反映,直接看到答案不太好,那我把答案的颜色设置为透明,答案位置还是在题目后面,需要鼠标选中才能看见(操作如下图),同时为了手机端的小伙伴(手机端也可以长按选中查看),我还会把所有答案放到文章最下面,希望给每天进步一点点的小伙伴更好的体验。前段时间实在是有点忙,抱歉,抱歉,抱歉!!!1、以下二维数组声明合法的是( )正确答案: C 你的答案: C (正确)char[2][3] ch = new char[][]char[2][] ch = new char[][3]char[_callable的call方法返回值

推荐文章

热门文章

相关标签