支持
1. QQ空间短链接生成
1)输入你的QQ号,生成专属链接
2)然后通过坦白说把此链接发给ta,可以夹带一些诱惑语言,去引导ta点开此链接
3)然后在空间访问列表里等待ta的点击(ta如果点了就会出现在你的空间访问列表里)
4)现在还有一种类似访问空间的方法:手Q-搜索 日迹-随便发一个小视屏-右上角分享-复制链接 。可以发美女图片,说这个是不是你啊,等等诱惑性语言。
2. 支持长链接转换
1)使用电脑版空间地址 https://user.qzone.qq.com/你的QQ号 转短链接。
2)使用手机版空间地址 https://h5.qzone.qq.com/mqzone/profile?hostuin=你的QQ号 转短链接
2)Tips:嫌生成的短链接太长了可以去掉前面的http://
3. 支持提交真实QQ号(为了确保提交的数据真实,本站不得已采用QQ登录方式)
4. 支持json数据解密(具体请看坦白说数据获取视频教程 <http://p875fw64u.bkt.clouddn.com/tanbai.mp4>)
5.支持坦白说好友条件查询
原理很简单:获取QQ好友列表,再依次获取每个好友信息进行对比判断。
1)输入条件:性别(必选)城市,年龄,星座,认识时间(4个信息至少填一个)即可筛选出符合条件的好友。
2)查询的结果点击头像进入QQ名片页面,点击QQ号可直接聊天,点击星座查看好友天数。
3)查询时间因QQ好友数量、查询条件而定。
工具地址:http://tb.eleuu.com <http://tb.eleuu.com>
条件查询网站开发原理(感兴趣的可以学习)
p_skey、skey、uin、g_tk 获取方法:
电脑端获取:http://p875fw64u.bkt.clouddn.com/getkey.gif
<http://p875fw64u.bkt.clouddn.com/getkey.gif>
安卓手机端获取:http://p875fw64u.bkt.clouddn.com/mgetskey.mp4
<http://p875fw64u.bkt.clouddn.com/mgetskey.mp4>
关于BKN的计算,这里附上我修改过的PHP函数代码
function GetBkn($skey){ for ($i = 0,$hash = 5381;$i < strlen($skey);++$i){
$hash += ($hash << 5) + ord(mb_substr($skey, $i, 1, 'utf-8')); } return
(string)($hash & 2147483647); }
以下演示中我提前抓到相关参数
g_tk=853008089;
skey=@6m3kRCUVM;uin=o0775262592;p_skey=Bw5KIPhbkm6mw2MoL2nU7PHcsE6z86L0SIZoYuUoWMY_;
bkn由函数GetBkn($skey)计算得到bkn=939377395;
以下以查询QQ号为2975821869做演示:
1.获取好友列表
请求地址:(GET)
https://h5.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/tfriend/friend_show_qqfriends.cgi?uin=
775262592&g_tk=853008089
请求头header:
Cookie:skey=@6m3kRCUVM;uin=o0775262592;p_skey=
Bw5KIPhbkm6mw2MoL2nU7PHcsE6z86L0SIZoYuUoWMY_;
返回信息:
{ "items": [//所有的QQ好友基本信息 { "uin": 460551,//QQ号 "groupid": 0,
//好友分组序号为0,例如本次数据对应的分组名字为陌生人 "name": "K网的小仙女客服",//QQ好友网名 "remark": "",//QQ好友备注
"img": "http://qlogo4.store.qq.com/qzone/460551/460551/30",//QQ好友头像地址 "yellow":
-1,//是不是黄钻 "online": 0,//是否在线 "v6": 1//这个我没仔细研究 }, 。。。中间我就省略了 { "uin": 874826,
"groupid": 0, "name": "快眼小七", "remark": "快眼小七", "img":
"http://qlogo3.store.qq.com/qzone/874826/874826/30", "yellow": -1, "online": 0,
"v6": 1 } ], "gpnames": [//好友分组列表序号以及对应的名字 { "gpid": 0,//分组序号 "gpname": "陌生人"
//分组名称 }, 。。。中间我就省略了 { "gpid": 9, "gpname": "社会人" } ] }
2.获取好友名片
请求地址:(POST)
http://ti.qq.com/cgi-bin/more_profile_card/more_profile_card
请求头header:
Cookie:skey=@6m3kRCUVM;uin=o0775262592;p_skey=
Bw5KIPhbkm6mw2MoL2nU7PHcsE6z86L0SIZoYuUoWMY_;
POST参数:
_q=2975821869&bkn=939377395&src=mobile
返回信息:
{ "ec": 0, "profile": [{ "age": 19,//年龄 "birthday": { "day": 13, "month": 2,
"year": 1999 }, "college": "农民工小学", "company": "", "constellation": 1,
//星座序号,对应水瓶座 "email": "", "gender": 2,//性别:1 男 2 女 255 隐藏 "hometown_area":
"荔湾区", "hometown_city": "广州",//所在城市 "hometown_country": "中国", "hometown_state":
"广东", "location_area": "荔湾区", "location_city": "广州", "location_country": "中国",
"location_state": "广东", "nick": "你若成风", "occupation": 13, "personal": "" } ] }
星座序号对应关系:
$constellationsarray=array("未设置","水瓶座","双鱼座","白羊座","金牛座","双子座","巨蟹座","狮子座","处女座","天秤座","天蝎座","射手座","摩羯座");
3.获取加好友天数
请求地址:(GET)
https://h5.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/friendship/cgi_friendship?g_tk=
853008089&activeuin=2975821869&passiveuin=775262592&format=json&situation=1
请求头header:
Cookie:skey=@6m3kRCUVM;uin=o0775262592;p_skey=
Bw5KIPhbkm6mw2MoL2nU7PHcsE6z86L0SIZoYuUoWMY_;
返回信息:
{ "code": 0, "subcode": 0, "message": "", "default": 0, "data": {
"addFriendTime": 1464075341,//加好友时间,这里是Unix时间戳,转换得到2016-05-24 15:35:41
"common": { "app": [], "astro": "", "birthyear": 1990, "bloodType": "",
"eduExp": [], "friend": [ {}, {}, {}, {}, {}, {} ], "group": [ { "name":
"电子乌托邦联盟" } ], "homeAddr": [], "liveinAddr": [], "workExp": [] },
"constellation": { "date": "", "index": 0, "parCauTitle": "", "partnerCaution":
0, "title": "", "weekDay": 0 }, "friendName": "", "friendUin": 775262592,
"interactive": { "AddComment": 0, "AddGift": 0, "AddLike": 0, "AddMention": 0,
"AddReply": 0, "AddRetweet": 0, "DeleteComment": 0, "DeleteFootPrint": 0,
"DeleteLike": 0, "DeleteReply": 0, "VisitUGC": 0, "visitCount": 0, "visitTime":
[] }, "intimacyScore": 56, "isFriend": 1, "nick": { "775262592":
"葑茚[em]e328139[/em]記憶", "2975821869": "你若成风" }, "passiveGender": 1,
"specialCare": false, "systemTime": 1531286768, "weather": { "city": "",
"desc": "", "pm2d5": "", "png": "", "tnow": 0, "wea": 0 } } }使用公式
(int)((time()-(int)($addFriendTime))/86400)可得到加好友多少天。
function calculateday($day){//计算多少月份和多少年,精确到小数点后2位 if($day>=365){
for($i=0;$day>365;++$i){ $day=$day-365; } return floor($day/365*100)/100+($i);
}else{ return floor($day/365*12*100)/100; } }
结论:
1.给你发坦白说的显示所在城市、多少岁、星座、认识多久,都是从这些数据获得。
2.如果你的好友数量少,你完全可以去一个一个好友的信息查看(哈哈,还是不建议这么做)。
3.如果好友并未设置所在城市、多少岁、星座,这三个信息,你会发现让他重新发送给你坦白说,会一直显示来自一个认识多久的。。。
tb.eleuu.com <http://tb.eleuu.com>
站长花费了一个星期的时间完成此页面的开发(1000行代码),所有的信息处理全在本页面完成。
购买的阿里云服务器配置比较低,如果有人在查询时,网页会打不开。
由于个人原因,此页面不再维护更新,故将原理分享出来,仅供学习交流。
也请大家勿打扰站长。站长唯一QQ:775262592
热门工具 换一换