批量导出QQ群好友:
1、获取QQ群:
http://qun.qzone.qq.com/cgi-bin/get_group_list?groupcount=4&count=4&callbackFun=_GetGroupPortal&uin=QQ号&g_tk=*********
2、获取QQ群成员:
http://qun.qzone.qq.com/cgi-bin/get_group_member?uin=QQ号&groupid=QQ群号&random=0.6192917528652082&g_tk=*********
g_tk是通过某种法算由skey计算而来的,而skey是可以从cookies里直接看到的(@3VYHMMEZI这样子的),那么问题落到了如何计算g_tk值上了。
百度找到了一个计算g_tk值的,亲测好用!
效果如下图
以“北京SEO俱乐部群:211438410”为例:
解决问题:
1.Java的QQ空间请求的g_tk算法skey算法
2.JS的QQ空间请求的g_tk算法skey算法
Java源代码:
package ly.util;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
public class Security {
public static String GetG_TK(String str){
int hash = 5381;
for(int i = 0, len = str.length(); i < len; ++i){
hash += (hash << 5) + (int)(char)str.charAt(i);
}
return (hash & 0x7fffffff)+"";
}
}
JS源代码:
//QQ空间,发送请求时,需要带的g_tk
function getGTK(str){
var hash = 5381;
for(var i = 0, len = str.length; i < len; ++i)
{
hash += (hash << 5) + str.charAt(i).charCodeAt();
}
return hash & 0x7fffffff;
}
alert(getGTK("@3VYHMMEZI"))

评论