SmartQQ是腾讯在Web上推出的一款单纯的聊天工具,pc端与移动端都可以访问,接下来具体的分析下登陆流程。

网站:http://w.qq.com/

工具:这个随意能够看到http数据包就可以,浏览器一般都自带开发者工具可以通过快捷键(F12)调出。

重点来了~

提取二维码地址

二维码地址:https://ssl.ptlogin2.qq.com/ptqrshow?appid=501004106&e=0&l=M&s=5&d=72&v=4&t=0.7162917961819727(0.7162917961819727是个随机数字)

请求方式:get

登录检测(第一次登陆):

当你打开http://w.qq.com/网页时,会触发个事件,检测手机端授权。

地址:https://ssl.ptlogin2.qq.com/ptqrlogin?webqq_type=10&remember_uin=1&login2qq=1&aid=501004106&u1=http%3A%2F%2Fw.qq.com%2Fproxy.html%3Flogin2qq%3D1%26webqq_type%3D10&ptredirect=0&ptlang=2052&daid=164&from_ui=1&pttype=1&dumy=&fp=loginerroralert&action=0-0-598617&mibao_css=m_webqq&t=1&g=1&js_type=0&js_ver=10156&login_sig=&pt_randsalt=2

请求方式:get

cookie:使用二维码cookie

响应内容:

当手机端未授权时

ptuiCB('66','0','','0','二维码未失效。(3814721644)', '');
当手机端授权时

ptuiCB('67','0','','0','二维码认证中。(691021781)', '');

当手机端授权成功时

ptuiCB('0','0','http://ptlogin4.web2.qq.com/check_sig?pttype=1& amp;uin=957019238&service=ptqrlogin&nodirect=0& ptsigx=165f2625307b4a9227fb7e973e8ca09bf5a3739efe6756744b4b6c5e5bd947ba747e8249612ee87e860b24f2ebfdc75eedd071b2ec55e6ab5f025f6ac321f3b4& amp;s_url=http%3A%2F %2Fw.qq.com%2Fproxy.html%3Flogin2qq%3D1%26webqq_type%3D10&f_url=& amp;ptlang=2052&ptredirect=100&aid=501004106&daid=164& j_later=0&low_login_hour=0&regmaster=0&pt_login_type=3& pt_aid=0&pt_aaid=16&pt_light=0&pt_3rd_aid=0','0','登录成功!', '椰子');)

如果二维码失效,需要重新请求二维码

参数分析:

参数 1:错误码,0没有错误。

参数 2:暂未知。

参数 3:跳转URL,只有访问过跳转URL才算真正第一次登录完毕。

参数 4:未知。

参数 5:描述信息。

参数 6:未知。

第二次登录(登录跳转+正式上线):

跳转登陆

地址:提取第一次登陆成功响应内容中的参数3

请求方式:get

cookie:将上面的cookie合到一起使用

禁止重定向:真

请求个地址不知道干嘛,如果不访问有时会出现100100错误

地址:http://s.web2.qq.com/api/getvfwebqq?ptwebqq=提取第一次登陆成功响应的cookie中的ptwebqq的值&clientid=53999199&psessionid=&t=1458896274129

请求方式:get

cookie:将上面的cookie合到一起使用

协议头:Referer: http://s.web2.qq.com/proxy.html?v=20130916001&callback=1&id=1
    Host: s.web2.qq.com

第二次登陆

地址:http://d1.web2.qq.com/channel/login2

请求方式:post

请求参数:r=%7B%22ptwebqq%22%3A%22提取第一次登陆成功响应的cookie中的ptwebqq的值%22%2C%22clientid%22%3A53999199%2C%22psessionid%22%3A%22%22%2C%22status%22%3A%22online%22%7D

协议头:Referer: http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2

cookie:将上面的cookie合到一起使用

响应内容:

正式登陆成功~

cookie是非常重要的,cookie注意下,应该将所有的cookie都放到一起。

有什么问题,请留言,更新时间:2016年5月27日22:51:48

转载于:https://www.cnblogs.com/hands/p/5116745.html

SmartQQ二维码登陆接口分析相关推荐

  1. Golang爬虫终极杀器——Chromedp让你成为二维码登陆终结者(教程)

    Golang爬虫终极杀器--Chromedp让你成为二维码登陆终结者(教程) Github源码 - chromedp 文章项目Gitee源码 1 Chromedp是什么 chromedp是一个更快.更 ...

  2. HTML 5 手机扫描二维码登陆网页

    首先声明我不是专业做前端的,只是一个java开发者,最近要做一个手机版的网站,但是需求要做类似于微信,扫描网页上的二维码登陆网页版微信,以当时认为这东西必须要APP才能支持,因为所有扫描二维码都是必须 ...

  3. App 扫描二维码登陆网站

    App 扫描二维码登陆网站 +-----------+-----------+-----------+ | App | Web | Server | +-----------+-----------+ ...

  4. selenium 二维码登陆解决方案

    selenium与api 的结合 获取到 qr_id 然后api 带这个qr_id 调用,然后就ok了 实现方式看代码 # -*- coding: utf-8 -*- # auth: cy # cre ...

  5. 微信扫描二维码登陆的实现原理

    作者:程序员自由之路 https://www.cnblogs.com/54chensongxia/p/12530268.html 随着微信的普及,我们可以通过微信扫描设备二维码来实现IoT物联网场景中 ...

  6. java实现手机扫二维码登陆

    实现流程: pc端: 1:打开二维码登录网页index.html 2:index.html调用GetQrCodeServlet 3:GetQrCodeServlet干2件事 a:生成随机的uuid,是 ...

  7. 扫描二维码登陆实现原理

    扫码登录操作过程 浏览器输入:https://wx.qq.com/?lang=zh_CN 手机登录微信,利用"扫一扫"功能扫描网页上的二维码 手机扫描成功后,提示"登录网 ...

  8. 微信扫描二维码登陆的原理

    作者:吕十田 链接:https://www.zhihu.com/question/20368066/answer/23828176 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  9. 实习记录(H5页面)微信扫描二维码登陆注册,随后跳转浏览器。实现

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.微信跳转至浏览器,按钮样式与触发弹窗改变? 2.安卓与ios的下载***app 3.解析url,获取地址栏携带的参数 4 ...

最新文章

  1. 关于ES6中Promise的应用-顺序合并Promise,并将返回结果以数组的形式输出
  2. 连接网络计算机后用户名更改不,电脑修改ip后无法上网
  3. JDBC进阶:调用数据库,将文件或其他字节文件存入数据库,再从数据库取出写回硬盘
  4. Service Mesh 从“趋势”走向“无聊”
  5. Visual Studio下Qt调用IDL
  6. (Matlab源码)Matlab实现算术编码(Arithmetic coding)超级详解(每一段代码都可以看懂)
  7. 《Pytorch - 线性回归模型》
  8. springboot情操陶冶-@SpringBootApplication注解解析
  9. 2015年3月31号日志
  10. Atlas Control Toolkit更新发布V1.0.60914.0
  11. 2020-11-30 03_空域图像处理 笔记
  12. Java程序员面试应该准备什么?
  13. 一、Sails基础操作
  14. (损人损己)做代码质量检查差事最易得罪人,大多是为公司干好事给自己树敌的差事...
  15. ”excel 无法粘贴信息,原因是复制区域与粘贴区域形状不同“解决方法
  16. 2022第四届长安杯电子取证竞赛 服务器赛时思路题解 Zodi4c
  17. 艾司博讯:拼多多价格竞争力不足怎么办
  18. 一战成名,用户贷款风险预测 参赛代码与数据集分享
  19. go语言的控制台输入
  20. 计算机不识别硬盘怎么解决,电脑不认硬盘的原因 怎么解决电脑读不到硬盘

热门文章

  1. C#获取windows下用于标志当前电脑的唯一性编号
  2. Java:NoClassDefFoundError:can not initialize class XXX原因
  3. 很有见解的博客 众里寻他千百度,蓦然回首,那人却在灯火阑珊处
  4. 运动装备哪个牌子好?运动装备清单推荐
  5. Vue的传值方式(二)——双向数据绑定【v-model】
  6. 问题记录:multiple definition of `xxxx` 问题解决 struct定义类的error:“unknown type name“
  7. 数据结构与算法基础--王卓
  8. 前端JS获取当前使用的操作系统类型
  9. 邀小黄人代言,vivo的国际化启示
  10. Linux之0基础入门,部署JavaWeb项目到阿里云服务器上,阿里云服务器安装MySQL并使用WorkBench连接,WorkBench导入SQL脚本,Linux之SSH和SFTP连接工具,