QQ模拟自动登录实现

本篇文章主要介绍"QQ模拟自动登录实现(带验证码)",主要涉及到java 实现QQ自动登录(带验证码)方面的内容,对于java 实现QQ自动登录(带验证码)感兴趣的同学可以参考一下。如果需要深入研究或者需要代码支持请进群交流;

这段时间研究了一下QQ自动登录的流程,并把自动登录应用到了实际项目中,要实现QQ自动登录主要要做到几点:

1、通过firefox的firebug工具分析QQ登录的请求参数;

2、QQ密码的加密;

3、QQ验证码的加密;

4、模拟http请求发包,收发包的cookies的保存和获取;

5、QQ账号登录策略分析;


基于上面几点我用java实现自动登录,具体过程如下:

步骤一:检查登录账号是否需要验证码

请求的地址为:https://ssl.ptlogin2.qq.com/check

返回的结果为:ptui_checkVC('0','!GZE','\x00\x00\x00\x00\x2d\x14\x3e\x48','70343a5e34cf','0');

其中ptui_checkVC的第一个参数为 0 表示不需要验证码,1 表示需要验证码

第二个参数为不需要验证码的时候该值为验证码

第三个参数为密码加密的盐

步骤二:下载验证码

https://ssl.captcha.qq.com/getimgbysig

步骤三:校验验证码

https://ssl.captcha.qq.com/cap_union_verify_new

校验验证码相对复杂,需要获取用户输入、鼠标点击然后再将输入的验证码一起加密并发送到服务器进行校验

步骤四:登录

https://ssl.ptlogin2.qq.com/login

将用户的密码进行RSA和TEA加密之后发送到login进行登录,如果密码登录则返回

ptuiCB('0','0','http://ptlogin4.game.qq.com/check_sig?pttype=1&uin=123456789&service=login&nodirect=0&ptsigx=d0b3938a48441435dd270040beabe1c80d22e6d6fec29871b8f5648a937f553298934e5de93c6a901b351b1d17c6729d52e716b689f2ffd9b&s_url=http%3A%2F%2Flol.qq.com%2Fmain.shtml&f_url=&ptlang=2052&ptredirect=101&aid=21000501&daid=8&j_later=0&low_login_hour=0&regmaster=0&pt_login_type=1&pt_aid=0&pt_aaid=0&pt_light=0&pt_3rd_aid=0','1','登录成功!', 'test');

实现了上面四个步骤就可以完成QQ账号的网页自动登录,总的来说还是比较容易实现,就是要花时间去分析。

如果需要深入研究或者需要代码支持请进群交流;

QQ模拟自动登录实现的更多相关文章

  1. python模拟自动登录网站(urllib2)

    不登录打开网页: import urllib2 request = urllib2.Request('http://www.baidu.com') response = urllib2.urlopen ...

  2. java浏览器控件jxbrowser(简单demo模拟自动登录与点击)

    写在前面: 老大让我写个脚本自动给他写dms有一段时间了,说实话当时不知道老大指的这个脚本是什么?毕竟是做web的,难道是写个数据库sql语句脚本吗?也就放在了一边.巧了,最近一个朋友说他之前写了个程 ...

  3. Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据&流程分析

    QQ空间说说抓取难度比较大,花了一个星期才研究清楚! 代码请移步到GitHub GitHub地址:https://github.com/20100507/Qzone [没有加入多线程,希望你可以参与进 ...

  4. C#三种模拟自动登录和提交POST信息的实现方法【转】

    网页自动登录(提交Post内容)的用途很多,如验证身份.程序升级.网络投票等,以下是用C#实现的方法.       网页自动登录和提交POST信息的核心就是分析网页的源代码(HTML),在C#中,可以 ...

  5. C#三种模拟自动登录和提交POST信息的实现方法

    网页自动登录(提交Post内容)的用途很多,如验证身份.程序升级.网络投票等,以下是用C#实现的方法.       网页自动登录和提交POST信息的核心就是分析网页的源代码(HTML),在C#中,可以 ...

  6. Python案例之QQ空间自动登录程序实现

    不多说,直接上干货! 工具选择: 电脑系统:win7,32 位,下面第二部安装SetupTools时注意系统版本要求: Python: 2.7.11,  相信只要是2.7的就可以实现: Seleniu ...

  7. 爬虫模拟cookie自动登录(人人网自动登录)

    什么是cookie? 在网站中,HTTP请求时无状态的,也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是谁,cookie的出现就是为了解决这个问题,第一次登陆后服 ...

  8. winform系统自动登录实现

    转载:http://www.cnblogs.com/wuhuacong/archive/2012/08/21/2648339.html 系统自动登录有时候很必要,在用户自己绝对信任的电脑上,自动登录对 ...

  9. 利用phantomjs模拟QQ自动登录

    之前为了抓取兴趣部落里的数据,研究了下QQ自动登录. 当时搜索了一番,发现大部分方法都已经失效了,于是准备自己开搞. 第一个想到的就是参考网上已有方案的做法,梳理登陆js的实现,通过其他语言重写.考虑 ...

随机推荐

  1. wordpress多站点环境设置上传附件大小

    多站点环境更改上传附件大小: php.ini post_max_size = 8M upload_max_filesize = 10M 另外,后台域名管理中设置/网络设置/可以设置上传文件大小. 代码 ...

  2. outlook2013 更改邮件文件位置

    找了许多也是不行, 最后自己来多次试验,原来就是这么容易 ., 1: 先增加你的邮件账号,然后找到数据文件的位置 2: 关闭OUTLOOK 2013,把上一步中的数据文件复制到你要的位置,如D:\ou ...

  3. Oracle实战训练——ATM取款机业务

    ATM取款机的数据库模拟开发和实战总结 一.ATM实战开发的简介. 学习了几天的Oracle,开始着手用数据库PL/SQL语言做一个简单的ATM取款机业务,主要是为了巩固数据库的知识,并非真正的去实现 ...

  4. python的__future__特性

    使用python的__future__特性, __future__是在旧版本的python中提供了新版python的特性. 1) 在python2中相除返回浮点数,在python3中默认返回浮点数 & ...

  5. CSS实现单行、多行文本溢出显示省略号(…)

    如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览. 实现方法: overflow: hidden; te ...

  6. ACM-ICPC LA 4329 Ping pong(树状数组)

    https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  7. Hihocoder 1079 离散化

    离散化这里有很多种方式 利用结构体记录最初的索引在按位置排序再记录排名即为离散的位置再按索引排回来 或者用数组记录排序后直接对原位置二分直接去找离散应在的位置 或者对数组排序后直接map 3 20 1 ...

  8. android五种存储方式

    http://www.cnblogs.com/smalltigerlee/archive/2011/11/10/2244143.html

  9. Android 资源(resource详解(转)

    本文介绍在Android开发中关于资源文件的存储操作.对于Android资源也是非常重要的,主要包括文本字符串(strings).颜色(colors).数组(arrays).动画(anim).布局(l ...

  10. 论文阅读(Xiang Bai——【CVPR2015】Symmetry-Based Text Line Detection in Natural Scenes)

    Xiang Bai--[CVPR2015]Symmetry-Based Text Line Detection in Natural Scenes 目录 作者和相关链接 方法概括 创新点和贡献 方法细 ...