(function(exports){
varchatVO = {
//你的QQ
yourQQ: "20737302",
//你好友的QQ
yourFQQ: "649374916",
//女神的QQ
targetQQ: "20618348",
//女神好友的QQ
targetFQQ: "649374916"
};
varconfig = {
init: function(){
varskey;
skey = getCookie("skey") || getCookie("rv2") ||"";
functiongetCookie(name){
varr =newRegExp("(?:^|;+|\\s+)"+ name +"=([^;]*)"), m = document.cookie.match(r);
return!m ?"": m[1];
}
function_DJB (str) {
varhash = 5381;
for(vari = 0, len = str.length; i
hash += (hash <
returnhash & 2147483647
};
this.sigURL =this.sigURL.replace("{{t}}",_DJB(skey));
},
sigURL: "http://r.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin={{sender}}&to_uin={{receiver}}&g_tk={{t}}",
chatURL: "tencent://message/?Menu=yes&uin={{sender}}&Service=112&SigT={{sigt}}&SigU={{sigu}}"
};
varutil = {
ajax: function(obj){
varxmlHttp;
if(obj.async === undefined){
obj.async = true;
}
if(window.XMLHttpRequest){
xmlHttp = newXMLHttpRequest();
}else{
xmlHttp = newActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.onreadystatechange=function(){
obj.callback(xmlHttp);
};
xmlHttp.open(obj.type,obj.url,obj.async);
xmlHttp.send();
}
};
varlogic = {
getSigU: function(sender,receiver){
varsigu ="";
util.ajax({
url: config.sigURL.replace("{{sender}}",sender).replace("{{receiver}}",receiver),
type: "get",
async: false,
callback: function(xhr){
if(xhr.readyState == 4){
varhtml = xhr.responseText.replace(/[\n]/g,"");
if(/&SigU=/gmi.test(html)){
sigu = html.split(/&SigU=/m)[1].split(/'/m)[0];
}else{
alert("你和你的好友,好友关系不成立!");
}
}
}
});
returnsigu;
},
getSigT: function(sender,receiver){
varsigt ="";
util.ajax({
url: config.sigURL.replace("{{sender}}",sender).replace("{{receiver}}",receiver),
type: "get",
async: false,
callback: function(xhr){
if(xhr.readyState == 4){
varhtml = xhr.responseText.replace(/[\n]/g,"");
if(/&SigT=/gmi.test(html)){
sigt = html.split(/&SigT=/m)[1].split(/&SigU=/m)[0];
}else{
alert("他和他的好友,好友关系不成立!");
}
}
}
});
returnsigt;
},
runChat: function(sender,sigu,sigt) {
exports.location = config.chatURL.replace("{{sender}}",sender).replace("{{sigt}}",sigt).replace("{{sigu}}",sigu);
}
};
config.init();
varsigu = logic.getSigU(chatVO.yourQQ,chatVO.yourFQQ);
varsigt = logic.getSigT(chatVO.targetFQQ,chatVO.targetQQ);
logic.runChat(chatVO.targetQQ,sigu,sigt);
})(this);
这个脚本,您只需要关注最顶部的四个参数,
yourQQ: "20737302",
yourFQQ: "649374916",
targetQQ: "20618348",
targetFQQ: "649374916"
这四个参数缺一不可,而且必须都正确,读者可根据自己的实际情况填写,主要就是女神好友的QQ可能不知道(任意一个好友即可),猜吧!
假如您不知道女神好友的QQ,乱填一个,会提示好友关系不成立,顺便还可以用这个提示测试两个人是不是好友,很实用吧!
测试的时候忽略了一个问题:女神好友的QQ(targetFQQ),作为中间人,不能随便填,必须同时是你们两个的好友才可以。。。抱歉!!
接下来说说怎么运行这个脚本。
首先要用浏览器打开你的QQ空间,最好使用火狐和谷歌浏览器,然后保持QQ空间是登录状态。
然后在QQ空间的选项卡旁边新建一个选项卡,输入网址:http://r.qzone.qq.com,按回车转到,发现是一片空白,这就对了。
在浏览器上按F12打开控制台,把脚本粘贴到控制台中,运行即可。
为什么要这么做呢。。。登录QQ空间是为了拿到有效的cookie,否则没办法访问腾讯接口,而新建一个选项卡是为了避免跨域问题,同时又可以与登录的QQ空间共享cookie。
其他就没什么了,快动手试试吧!
以上转自杨元博客。
2015年7月23日 15:21:42:测试,bug已修复,侵删。
标签: qq
顶一下
(0)
0%
踩一下
(0)
0%