QQ空间g_tk算法:通过skey计算获取g_tk算法【亲测好用!】

其他杂项4,194字数 980阅读3分16秒阅读模式

批量导出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"))  

 
  • 本文由 asdfasd 发表于 2015-08-2613:47:30
  • 转载请务必保留本文链接:http://wp.fangfa.me/other-note/qzone-g_tk.html
评论  2  访客  2