Jaffoo / ShamrockCore.NET

onebot11协议的实现库
https://jaffoo.github.io/UnifyBot/doc/
GNU Affero General Public License v3.0
17 stars 7 forks source link

连接测试失败 #6

Closed zdzym closed 2 months ago

zdzym commented 2 months ago

nuget上最新的包是1.1.8,但是好像无法正常使用,提示连接不到QQ框架。 看了一下,似乎是因为连接测试的时候没有传入header导致的,服务器返回403,导致抛出异常,返回false。 如果我手动导入的话,请问应该使用main分支还是unifybot分支?

Jaffoo commented 2 months ago

nuget上最新的包是1.1.8,但是好像无法正常使用,提示连接不到QQ框架。 看了一下,似乎是因为连接测试的时候没有传入header导致的,服务器返回403,导致抛出异常,返回false。 如果我手动导入的话,请问应该使用main分支还是unifybot分支?

如果你要直接用库的话,main分支的UnifyBot类库。 我刚刚试了,能正常连接,你可以看看是不是你QQ机器人框架配置了accessToken啥的,然后连接的地方没有传入此token,如果有自定义header认证的话那确实不支持,你可以clone下来自行UnifyBot.cs文件80行附近的代码。

zdzym commented 2 months ago

token确实是传了的,还是提示无法连接 Snipaste_2024-08-22_19-11-35 Snipaste_2024-08-22_19-13-16

抓包看了下,token在请求的时候好像没有带上 Snipaste_2024-08-22_19-17-01

zdzym commented 2 months ago

又看了一下,CanConnectBot函数里这一句: string result = Tools.GetAsync(HttpUrl).Result; 没有传入Headers,导致403抛出异常。 https://github.com/Jaffoo/ShamrockCore.NET/blob/230c0ced985d7eff484b0a168995ce76526c44dc/UnifyBot/Model/Connect.cs#L141 不知道是不是这个原因

Jaffoo commented 2 months ago

又看了一下,CanConnectBot函数里这一句: string result = Tools.GetAsync(HttpUrl).Result; 没有传入Headers,导致403抛出异常。

https://github.com/Jaffoo/ShamrockCore.NET/blob/230c0ced985d7eff484b0a168995ce76526c44dc/UnifyBot/Model/Connect.cs#L141

不知道是不是这个原因

应该是的,我的锅,你改成var res = Tools.GetAsync(HttpUrl, Headers).Result;试试可否行

zdzym commented 2 months ago

你改成var res = Tools.GetAsync(HttpUrl, Headers).Result;试试可否行

测试可行,成功返回true,应该就是这里的问题了。 感谢耐心回复