WebQQ最新登陆协议的用法

yipeiwu_com5年前PHP代码库

本文实例讲述了WebQQ最新登陆协议的用法。分享给大家供大家参考。具体分析如下:

WebQQ协议更新后,原登陆算法等信息改变,导致很多朋友无法正常登陆,本站发布了一些与WebQQ最新登陆协议相关的文章,有因为未发布Demo,一些朋友会加Q来问,是否适应最新的WebQQ,本文就做一个小的Demo来供大家测试.

声明:

1、本Demo做的比较简单,未对密码及验证码等对错做验证,只是做登陆演示.

2、QQ是个比较隐私的东西,那么请您用测试号登陆本软件,先小人后君子吧.

本站与最新WebQQ登陆协议相关文章,WebQQ二次登陆失败{“retcode”:103,”errmsg”:”"}

解决办法:重新抓了一次包,发现现在WebQQ将登陆加入SSL层也就是Https在第一次登陆的时候,返回的数据如下:

复制代码 代码如下:
ptuiCB('0','0','http://ptlogin4.web2.qq.com/check_sig?pttype=1&uin=你的QQ号&service=login&nodirect=0&ptsig=一串加密数据s_url=http%3a%2f%2fweb2.qq.com%2floginproxy.html%3flogin2qq%3d1%26webqq%5ftype%3d10&f_url=&ptlang=2052&ptredirect=100&aid=1003903&daid=164&j_later=0&low_login_hour=0®master=0','0','登录成功!', 'I');

上述数据中包含一个回调地址,代码如下:
复制代码 代码如下:
<a href="http://ptlogin4.web2.qq.com/check_sig?pttype=1&uin">http://ptlogin4.web2.qq.com/check_sig?pttype=1&uin</a>=你的QQ号&service=login&nodirect=0&ptsig=一串加密数据s_url=http%3a%2f%2fweb2.qq.com%2floginproxy.html%3flogin2qq%3d1%26webqq%5ftype%3d10&f_url=&ptlang=2052&ptredirect=100&aid=1003903&daid=164&j_later=0&low_login_hour=0®master=0

访问上面的地址(302跳转,注意Cookie的获取),获取到一个Cookie名为p_skey,将这个Cookie在二次登陆的时候,加入到Cookie中即可实现二次登陆.

WebQQ最新登陆协议

1、获取验证码

方法:Get

地址,代码如下:

复制代码 代码如下:
https://ssl.ptlogin2.qq.com:443/check?uin=958736715&appid=1003903&js_ver=10041&js_type=0&login_sig=Mge3PexTk00li3ipMUlHCzouT0xU*8MU6YkkZsIUo8*zQKRTM2rwPUOFbhbGw1No&u1=http%3A%2F%2Fweb2.qq.com%2Floginproxy.html&r=0.9403657828909222

Cookie:提交无,返回ptvfsession或verifysession

2、第一次登陆

方法:Get

地址,代码如下:

复制代码 代码如下:
https://ssl.ptlogin2.qq.com:443/login?u=【QQ号码】&p=【加密后的密码】&verifycode【验证码】&webqq_type=40&remember_uin=1&login2qq=1&aid=1003903&u1=http%3A%2F%2Fweb2.qq.com%2Floginproxy.html%3Flogin2qq%3D1%26webqq_type%3D40&h=1&ptredirect=0&ptlang=2052&daid=164&from_ui=1&pttype=1&dumy=&fp=loginerroralert&action=3-12-12775&mibao_css=m_webqq&t=1&g=1&js_type=0&js_ver=10041&login_sig=Mge3PexTk00li3ipMUlHCzouT0xU*8MU6YkkZsIUo8*zQKRTM2rwPUOFbhbGw1No

Cookie:提交ptvfsession或verifysession,返回pt2gguin、uin 、skey、ETK、superuin、superkey、supertoken 、ptisp、RK、ptuserinfo、ptcz 、ptcz、airkey、ptwebqq 。

3、第一次登陆成功后返回回调地址

方法,Get

地址,代码如下:

复制代码 代码如下:
http://ptlogin4.web2.qq.com/check_sig?pttype=1&uin=【QQ号码】&service=login&nodirect=0&ptsig=tLfZcSFkHNP57Lg0tPtLM6XLh73XeghnEH3pTFyHCLY_&s_url=http%3A%2F%2Fweb2.qq.com%2Floginproxy.html%3Flogin2qq%3D1%26webqq_type%3D40&f_url=&ptlang=2052&ptredirect=100&aid=1003903&daid=164&j_later=0&low_login_hour=0®master=0

Cookie:提交ptvfsession、verifysession、skey、ptcz:、ptwebqq、RK、superkey、supertoken。返回pt2gguin、uin、skey、p_uin、p_skey、pt4_token。

4、第二次登陆

方法:Post

地址:

复制代码 代码如下:
http://d.web2.qq.com/channel/login2

Cookie:提交ptvfsession、verifysession、skey、ptcz:、ptwebqq、RK、superkey、supertoken、p_skey、pt4_token、uin、p_uin、ptui_loginuin。

其他细节本文不再叙述,如果还有其他问题,请自行采取抓包软件,对WebQQ登陆进行抓包,无太大的技术含量,各位看官自行努力,如果您参照上述说明依然无法解决你的问题的话,那只有检查其它原因了.

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

PHP中Notice错误常见解决方法

对于初学者,肯定会遇到不同的错误提示,比如:警告,致命,等等,其中NOTICE错误等级最低,页面中,好多类似 Notice: Use of undefined constant titl...

WordPress开发中用于标题显示的相关函数使用解析

single_cat_title()函数 single_cat_title()函数,日常中我们很少会用到,但这个函数会给我们解决很多问题,诸如当前页面的目录、标签,该函数不依附于 Wor...

PHP并发多进程处理利器Gearman使用介绍

PHP并发多进程处理利器Gearman使用介绍

工作中我们有时候会遇到比如需要同时发布数据到多个个服务器上,或者同时处理多个任务。可以使用PHP的curl_multi的方式并发处理请求,但是由于网络和数据以及各个服务器等等的一些情况导...

php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)

php.ini-recommended的安全等级比php.ini-dist高。默认是把display_errors 设置为 off,将magic_quotes_gpc 设置为Off等等。...

thinkphp使用phpmailer发送邮件的方法

本文实例讲述了thinkphp使用phpmailer发送邮件的方法。分享给大家供大家参考。具体分析如下: phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎...