mamoe / mirai

高效率 QQ 机器人支持库
https://mirai.mamoe.net
GNU Affero General Public License v3.0
14.5k stars 2.55k forks source link

Mirai登录后存储的skey似乎是错误的 #2519

Closed kagg886 closed 1 year ago

kagg886 commented 1 year ago

问题描述

我试图想通过QQ的官方接口来获取任意QQ的等级信息。但是: 我无法使用bot登录的skey来获取数据。

复现

Object client = Class.forName("net.mamoe.mirai.internal.QQAndroidBot").getMethod("getClient").invoke(event.getBot());
Object wInfo = Class.forName("net.mamoe.mirai.internal.network.QQAndroidClient").getMethod("getWLoginSigInfo").invoke(client);
Object bkn = Class.forName("net.mamoe.mirai.internal.network.WLoginSigInfo").getMethod("getBkn").invoke(wInfo);
String bkn1 = bkn.toString();
String p = URLEncoder.encode("{\"iUin\":485184047}","UTF-8");
String s = "https://club.vip.qq.com/api/vip/getQQLevelInfo?requestBody=" + p;
Connection connection = Jsoup.connect(s).ignoreHttpErrors(true);
connection.data("g_tk",bkn1);
System.out.println(connection.ignoreContentType(true).execute().body());

mirai-core 版本

2.14.0

bot-protocol

ANDROID_PHONE

其他组件版本

No response

系统日志

No response

网络日志

No response

补充信息

iUin中的qq不是bot的登录qq

cssxsh commented 1 year ago

这位兄台有点逆天 https://github.com/mamoe/mirai#%E4%B8%8D%E4%BC%9A%E6%94%AF%E6%8C%81%E7%9A%84%E5%8D%8F%E8%AE%AE

Him188 commented 1 year ago

mirai 不开放获取 key, 我们也不清楚 key 到底有什么用, 所以我们也没法帮助