疯人院:如何使用javascript来获取QQ空间最近访客好友。

在看此文之前,请看:疯人院:如何在当前网页里执行你想要的执行的代码 第一步、先找出获取QQ访客接口:通过浏览器抓包:我们可以获取到这个接口https://user.qzone.qq.com/proxy/domain/g.qzone.q...

在看此文之前,请看:

疯人院:如何在当前网页里执行你想要的执行的代码


第一步、先找出获取QQ访客接口:

通过浏览器抓包:

如何使用谷歌浏览器抓包:http://www.hellojava.com/article/250

image.png

我们可以获取到这个接口

https://user.qzone.qq.com/proxy/domain/g.qzone.qq.com/cgi-bin/friendshow/cgi_get_visitor_simple?uin=QQ号&mask=2&mod=2&fupdate=1&g_tk=121307362&qzonetoken=694e991fd4ee1f360edf1c18c63b2bd6fbb61be931b1a34b3c5b8ac5d27c372537f12f625db554f3&g_tk=121307362

其中关键参数有 uin , g_tk ,  qzonetoken 


第二步、查找上面三个参数值的来源

uin: 可以在cookie 里获取。

image.png

g_tk: QZONE.FP.getACSRFToken()


image.png

qzonetoken: 在网页的源码里。

window.g_qzonetoken = (function(){ try{return "694e991fd4ee1f360edf1c18c63b2bd6fbb61be931b1a34b3c5b8ac5d27c372537f12";} catch(e) {var xhr = new XMLHttpRequest();xhr.withCredentials = true;xhr.open('post', '//h5.qzone.qq.com/log/post/error/qzonetoken', true);xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');xhr.send(e);}})();

里有这么一段。 我们只需要使用 window.g_qzonetoken 就可以获取

image.png


第四步、让我们愉快的编写程序吧。

首先我们尽量在控制台里先写代码

image.png

最后组织成javascript:

var uinArray = /uin=o0*(\S+);/.exec(document.cookie || ''); 
var uin = uinArray[1];
var g_tk = QZONE.FP.getACSRFToken();
var qzone_token = window.g_qzonetoken;
var url = 'https://user.qzone.qq.com/proxy/domain/g.qzone.qq.com/cgi-bin/friendshow/cgi_get_visitor_simple?uin='+uin+'&mask=2&mod=2&fupdate=1&g_tk='+g_tk+'&qzonetoken='+qzone_token;

url就是可以获取数据的URL。


最终代码:

包含里回调方法和数据

function _Callback(json){
	var items =  json.data.items;
	var nicks = '';
	for(var i=0;i<items.length;i++){
		var item = items[i];
		nicks+=item.name+'\n';
	}
	console.log(nicks);
}
var uinArray = /uin=o0*(\S+);/.exec(document.cookie || ''); 
var uin = uinArray[1];
var g_tk = QZONE.FP.getACSRFToken();
var qzone_token = window.g_qzonetoken;
var url = 'https://user.qzone.qq.com/proxy/domain/g.qzone.qq.com/cgi-bin/friendshow/cgi_get_visitor_simple?uin='+uin+'&mask=2&mod=2&fupdate=1&g_tk='+g_tk+'&qzonetoken='+qzone_token;
var head= document.getElementsByTagName('head')[0]; 
var script= document.createElement('script'); 
script.type= 'text/javascript'; 
script.src= url; 
head.appendChild(script);


输出结果:

image.png


本文原创,不得转载。

  • 发表于 2017-11-08 13:30
  • 阅读 ( 1556 )
  • 分类:前端

条评论

请先 登录 后评论
不写代码的码农
三叔

422 篇文章

作家榜 »

  1. 小编 文章
返回顶部
部分文章转自于网络,若有侵权请联系我们删除