基于http://w.qq.com,现在把命令汇总一下:
注:本协议在QQ群93772282中有word版本的下载,希望大家入群下载(2012年2月12日测试有效)
本文章没有文字格式,下载word版本带有数据格式更清晰。
如果遇到任何技术方面的问题,请加入QQ群93772282
群内共享有很多关于Qplus/webQQ的源代码供下载
1、WebQQ协议分析(1)——登录 收藏
本系列文章针对的是WebQQmini协议version:1.1版本,网址:http://w.qq.com
1、获取验证码
用Web登录QQ时需要先打开w.qq.com,但我们用的是应用程序模拟浏览器登录,所以这一步是没有必要的,所以我们主要看看点击“登录”按钮时浏览器向服务器发送什么数据了。Web登录QQ输入帐号输入焦点离开时,有时会提示要输入验证码,那么第一步就是要看看什么样的QQ号需要输入验证码。
GET http://ptlogin2.qq.com/check?uin=1030196367&appid=1002101&r=0.8849248
“1030196367”是我测试用的QQ号,r的值是个随机数,写成固定的也行。
服务器返回“ptui_checkVC('0','!OMD');”
括号里有两个被逗号隔开的单引号引着的数据,第一个值如果为0,则第二值为验证码,即不需要再从服务器获取验证码图片了,这个就是验证码了;第一个值如果不是1,则需要从服务器获取验证码图片,验证码需要根据图片人工输入。
2、获取验证码图片
如果第一步中返回的数据中,括号里第一个单引号引起来的数据为0,则不需要这步。
GET http://captcha.qq.com/getimage?aid=1002101&r=0.7712672651606319&uin=1030196367&vc_type=……
“http://captcha.qq.com/getimage ”固定是不用怀疑的,aid=100210是固定的(看web.qq.com的页面数据就能找到了),r=0.7712672651606319是个随机数也毫无疑问,uin=1030196367是QQ号,vc_type=...是js文件生成的,具体怎么回事就不知道了。
研究表明,“GET http://captcha.qq.com/getimage?0.7712672651606319 ”这样就可以,后面那个随机数写成固定的就行了,服务器肯定不会每次都给你一样的验证码。
获取验证码图片的同时,还需要获取Cookie,verifysession的值,登录时要用
3、输入帐号、密码及验证码登录
GET http://ptlogin2.qq.com/login?u=1030196367&p=……&verifycode=afbc&remember_uin=1&aid=1002101&u1=http%3A%2F%2Fweb.qq.com%2Fmain.shtml%3Fdirect__2&h=1&ptredirect=1&ptlang=2052&from_ui=1&pttype=1&dumy=&fp=loginerroralert
“http://ptlogin2.qq.com/login ”不必讨论,u=1030196367是QQ号,p=...是密码,这密码并不是原始密码,这个密码是(密码=MD5(转化成大写(MD5(MD5(MD5(原始密码)))+验证码)),腾讯的所有产品的密码加密算法都是这样的,希望大家记住这个算法。verifycode=afbc就是你输入的验证码,remember_uin=1是记住帐号,aid=1002101同上,u1=http%3A%2F%2Fw.qq.com%2Fmain.shtml%3Fdirect__2固定,本来%3A%2F%2F表示“:\\”,%3F表示“?”,但这里不能代替,是个转义字符。webqq_type是隐身标志,后面其他都固定。
注意要设置Cookie,verifysession的值
4、登录结果
ptuiCB('0','0','http://w.qq.com/main.shtml?direct__2','1');是登录成功的结果
括号中的第一个值是登录结果参数,
0:登录成功!
1:系统繁忙,请稍后重试。
2:已经过期的QQ号码。
3