首先说一些为什么会分析这个,由于之前一直在研究怎么能够跨域获取视频地址,之后开始思考如何能够将分段的视频合在一起,使用js?flash?还是调用本地的软件处理?显然目前比较多的是本地的软件,比如各个视频网站的自己的客户端,比如硕鼠整合软件,那么,如何在网站中调取本地软件呢?比如优酷网站中当你点击“下载”的时候,会启动你本机中的优酷客户端,由于我没有安装它的客户端,偷懒了一下,想到使用QQ登录后,打开QQ的空间、邮箱等等,会自己检测出已经登录的QQ,这个会不会也是网站在你本地中寻找登录信息呢?结果,结果就是将优酷调取本地客户端的问题转移到了QQ上。

一步步来:

F12调试模式,打开链接:https://mail.qq.com/

而将邮箱页面里边你已经登录的账号上,右键,审查元素,找到:

对比已经显示出来的信息,发现帐号信息添加到了"检测到您已登录QQ帐号"文字下边的源代码:<div id="list_uin"></div>里边了

画红线的就是判断QQ帐号是否登录的url,在另一个页面中打开:

这样就找到了你已经登录的信息,网上其他网友还找到可以使用这个url验证你是否已经有QQ登录了:http://xui.ptlogin2.qq.com/cgi-bin/qlogin

使用我画红线那个url打开的时候,F12,请求的资源有:

使用网友找到的那个url请求到的资源是:

显然,能够找到已经登录信息,就在这个返回的response中,将它们拷贝出来js格式化一下:

既然最终数据填充到了list_uin,Ctrl+F它:<label for

找到了:

            G += "<li><input type='radio' name='q_uin' id='uin_" + F.uin + "' " + B + D + " /><label for='uin_" + F.uin + "'>" + F.nick.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">") + " (" + F.name + ")</label></li>"

接着找F是怎么来的,继续,继续,这样找,最后发现:

JS通过loaduin()函数得到的用户信息,它的调用方式是:pt.loaduin();  ,之后想问pt是什么,也就找到pt.qInit();:

qInit: function() {
if (pt.inited) {
return
}
pt.inited = true;
try {
if (window.ActiveXObject) {
pt.qtrl = new ActiveXObject("SSOAxCtrlForPTLogin.SSOForPTLogin2");
var C = pt.qtrl.CreateTXSSOData();
pt.qtrl.InitSSOFPTCtrl(0, C);
pt.vOptData = pt.qtrl.CreateTXSSOData()
} else {
if (navigator.mimeTypes["application/nptxsso"]) {
var E = document.createElement("embed");
E.type = "application/nptxsso";
E.style.width = "0px";
E.style.height = "0px";
document.body.appendChild(E);
pt.sso = E
}
}
pt.loaduin();
var B = pt.list.length;
if (B <= 0) {
pt.showMsg(pt.lang[0], "");
return false
} else {
pt.buildList()
}
$.cookie.set("ptui_qstatus", 2, pt.domain, "/", 0.01)
} catch(D) {
pt.qtrl = null;
$.cookie.set("ptui_qstatus", 3, pt.domain, "/", 0.01);
pt.showMsg(pt.lang[1], "");
if (!pt.isHttps) {
url = "http://ui.ptlogin2.qq.com/cgi-bin/report?id=89217";
var A = new Image();
A.src = url
}
}
},

发现pt是IE下的ActiveXObject或者其他浏览器的"application/nptxsso",后者不知道是什么类型,就知道是sso(异构系统单点登录 SSO(single-sign-on)技术)的,而前边的SSOAxCtrlForPTLogin存在于C:\Program Files\Common Files\Tencent\TXSSO\Bin中,两种方式都是采用浏览器扩展插件的权限去在本地中寻找登录信息,具体这个npSSOAxCtrlForPTLogin.dll或者"application/nptxsso"是怎么实现的,我不深弄了,是腾讯自己实现的NPAPI,( 关于NPAPI的创建)而为什么确定是在本地找用户信息而不是在服务器,说明一下:

这里有几篇博客:

http://www.360doc.com/content/13/1018/17/6692427_322396952.shtml   腾讯的网站如何检测到你的 QQ 已经登录?
http://www.zhihu.com/question/20038903 QQ是如何实现快速登录的

http://1.lanz.sinaapp.com/?p=152 WEB检测QQ登录状态机制分析

http://www.iteye.com/problems/77473   关于QQ空间自动检测本地已经通过客户端登陆的账号

使用里边的方法,将网络断开的时候,依然可以检测到已经登录(已经离线,但是没有退出,也算是登录的一种状态)的帐号信息。

NAAPI里边应该是使用了固定的字符串xui.ptlogin2.qq.com,想要自己搭建一个服务器访问它,还需要在hosts里边定义一个本地的DNS解析,将xui.ptlogin2.qq.com解析成192.0.0.1,具体问下百度就哦了。

腾讯的一个脚本工具:

http://trip.qq.com/script/checkQQPlus.js

总结完这个,与我最初想要做的调用本地软件去将视频合并有一些关系,接下来的目的就是如何写个dll用来处理将视频合并,以及怎么实现除了IE外那个类型内容的实现,目前没有什么头绪,希望哪位高手知道可以指点一下。

分析网站如何检测已经登录的QQ帐号相关推荐

  1. QQ帐号注销功能灰度体验中:预计下周发布!

    [TechWeb]3月6日消息,腾讯QQ官方微信公众号今日发文称,QQ帐号注销功能将在手机QQ7.9.9版本中上线,目前该版本正在灰度体验中,预计下周正式发布. 具体操作上,可通过点击头像-设置-帐号 ...

  2. 乐视账号服务器关闭,乐视手机恢复出厂设置之后服务异常怎么办_无法登录乐视帐号解决办法_智能家...

    近期由于乐视账号服务器调整,出现了乐视手机重置后登录不了乐视账号,乐视手机恢复出厂设置之后服务异常是什么原因?小明同学为大家带来了无法登录乐视帐号解决办法... 乐视手机无法登录乐视帐号解决办法 乐视 ...

  3. 腾讯:QQ帐号注销功能正灰度体验中 预计下周正式发布

    新浪科技讯 3月6日下午消息,腾讯QQ今日在其公众号回应了QQ帐号注销的相关问题.腾讯表示,QQ帐号注销功能将在手机QQ7.9.9版本中上线,目前该版本正在灰度体验中,预计下周正式发布,敬请期待. 在 ...

  4. 腾讯的网站如何检测到你的 QQ 已经登录?

    http://www.lovelucy.info/tencent-sso.html 在 QQ 已经登录的情况下,手动输入网址打开 QQ 邮箱 或者 QQ 空间 等腾讯网站,可以看到网页已经检测到本地  ...

  5. 【QT 数据库专辑】【04】WIN7下搭建本地SQL SERVER数据库 - 手把手-登录远程数据库帐号设定问题

    前言: 多次数据库试验经验报名,远程数据库的访问问题,大多数是因为有帐号和访问权限的原因. 本文,通过从安装SQL SERVER开始暂时,我们在远程访问SQL SERVER数据库的时候可能遇到的问题. ...

  6. Ajax实现简单的登录验证与帐号注册

    上一篇博客介绍了Ajax的GET和POST方法以及上传文件的进度条展示,这篇博客将介绍一个简单的登录与注册功能的实现 设计HTML 这个是即将成为我毕业设计的一个网站, 在导航栏我添加了两个注册和登录 ...

  7. 如何取消wlan自动登录 更换wlan帐号

    author:张继飞 对于第一次在电脑上使用wlan后,设置了自动登录功能,每次连接cmcc,打开浏览器就会自动进入主页,不再提示输入手机号与密码.这样如果要使用其它号码就会无法进入帐号设置页面.下面 ...

  8. 专偷密码的“偷密婆” 疯狂盗取QQ帐号

    "偷密婆"(Win32.Troj.Downloader.c.45056)这是一个木马程序,能够关闭360安全 卫士,创建单独线程监控注册表禁止显示隐藏文件,建立网络连接,从网络下载 ...

  9. 找回在foxmail中登录过的帐号密码

    一.场景 一直用工作电脑的foxmail收发邮件,在家想登录邮箱时,居然忘记了密码,试不出来: 就想着工作电脑中的foxmail一直是自动登录,应该将帐号密码记录在某处,一试果然可行,现分享给大家 二 ...

最新文章

  1. java zookeeper_Java zookeeper开发实例
  2. Java Web Model2实战
  3. java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码
  4. Windows 10 周年更新正式版下载 + win10 快捷键
  5. nc 模拟服务器_Go实战——实现一个并发时钟服务器
  6. SpringMVC Controller 和 Servlet的关系
  7. Java黑皮书课后题第8章:*8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置。返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标
  8. 微软如何利用机器学习改进Win 10更新体验
  9. directsound抓取麦克风PCM数据封装类
  10. window防火墙端口映射_Windows 防火墙上也有端口映射功能
  11. dedecms教程:龙书浩最新DedeCmsV5.7建站仿站VIP视频教程免费下载
  12. scrapy框架爬取大单、中单、小单净流入流出
  13. x50pro怎么升级鸿蒙系统,被央视点赞的vivo X50 Pro拍照如何?实测告诉你
  14. CUBEMX STM32F105RB U盘读写详细教程
  15. 双色球的篮球购买保本的买法计算!
  16. 华为android9.1指令,华为手机进工程模式指令大全(新增EMUI9.0指令链接)
  17. qq空间相册查看器_教你用微信把自己的照片制作成音乐相册,模板多,操作又简单...
  18. C++PTA习题总结(三)
  19. 十五、机器学习中的决策树和随机森林算法
  20. 一种基于PCI总线的反射内存卡设计

热门文章

  1. linux下执行.sh文件的方法和语法
  2. java登录无线路由器_路由器的使用
  3. wannier插值能带拟合2
  4. DIY多快充协议太阳能充电器!----快充协议实现原理
  5. 全息投影助力餐厅,满足全新市场需求
  6. Ext_多行文本输入框_Ext.form.TextArea
  7. 从真正的零组建一台日常使用PC+NAS
  8. 【谁年轻时没YY过】财务自由后的某一天
  9. 我帮粉丝赚了10w+
  10. 服务器软件要如何维护