WEBQQ HTTP协议分析

WEBQQ协议

WEBQQ基本流程

  • 登录检测
  • 发送登录信息
  • 登录跳转
  • 正式上线
  • 消息长轮询

默认情况下每一步HTTP操作都是需要带上Cookie的,下面就不再重复提醒了。

登录检测

登录检测检测的是你当前帐号是不是需要验证码,如果不需要的话就给你提供一个默认的验证码。因为在登录的时候是必须输入验证码的。

请求格式:

GET http`s://ssl.ptlogin2.qq.com/check?uin=QQ号码

响应内容:

ptui_checkVC('0','!AAA',`'\x00\x00\x00\x00\x00\x00\x00\x00');

返回的内容是一个函数调用,参数说明如下:

  • 参数 1:“0” 表示不需要验证码,但需要使用随后的缺省验证码来登录。“1” 表示需要验证码。
  • 参数 2:如果以 “!” 开头则是传递给服务器的缺省验证码。
  • 参数 3:QQ号码的十六进制格式。

发送登录信息

密码加密,具体公式如下:

MD5_STR( MD5_STR( MD5_BIN(PassWord) + UIN ), VERIFY )
  • MD5_STR 计算MD5值,并以十六进制字符组合的形式返回结果。
  • MD5_BIN 计算MD5值,并以二进制组合的形式返回结果。
  • UIN 保存在字符串中的8位数值QQ号码。
  • VERIFY 验证码。

除了二进制外,其他计算参数都需要大写!这一步非常重要,尤其是输入的验证码!

QQ号码可以是普通QQ号也可以是其他主显号,比如邮箱帐号,手机号码等。
验证码填入4位验证码。没要求你输入,则是使用上一步操作返回的第二个参数。(注意都必须大写!)

请求格式:

GET https://ssl.ptlogin2.qq.com/login?u=QQ号码&p=加密密码&verifycode=验证码&webqq_type=10&remember_uin=1&login2qq=1&aid=1003903&u1=http%3A%2F%2Fweb2.qq.com%2Floginproxy.html%3Flogin2qq%3D1%26webqq_type%3D10&h=1&ptredirect=0&ptlang=2052&daid=164&from_ui=1&pttype=1&dumy=&fp=loginerroralert&action=2-35-18660&mibao_css=m_webqq&t=1&g=1&js_ver=10060&js_type=0

响应内容:

ptuiCB('0','0','跳转URL','0','登录成功!', 'uo');

返回的内容依旧是个函数调用,参数说明:

  • 参数 1:错误码,0没有错误。
  • 参数 2:暂未知。
  • 参数 3:跳转URL,只有访问过跳转URL才算真正登录完毕。
  • 参数 4:未知。
  • 参数 5:描述信息。
  • 参数 6:未知。

一般情况下判定 参数1 为0,跳转URL 不为空就说明这步操作正确。

登录跳转

接上一步,如果返回错误码为0,跳转URL有效。直接以GET方式请求URL即可。
至此,你已经完成了帐号认证的全部操作!其实上面这几步只是在TX公共认证平台上进行了认证。还没有涉及到WEBQQ相关的东西。

文章来源:http://yueqiumao.com/p/7.html

    原文作者:HTTP
    原文地址: https://segmentfault.com/a/1190000002426272
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞