• 技术交流
  • 【方法分享】go-cqhttp框架使用8.8.88协议依然出现code45报错的临时解决方法

go-cqhttp框架使用8.8.88协议依然出现code45报错的临时解决方法

本方法来自骰子屋的熊砾老师。原地址

0. 前言

由于tx最近开始严查8.8.88版本的登录,本应跳过该检测的8.8.88协议依然会出现code:45错误。

如果实在不想用手表协议扫码登录,可以尝试以下解决方法。


1.下载特殊版本gocq

来自熊砾老师分享的链接
该版本在更新协议版本时不会更新为8.8.88,而是更新为正常的新版协议。
下载后使用此文件替换原包内的go-cqhttp.exe文件


2.使用安卓手机协议并使用参数-update-protocol启动gocq。

device.json中的protocol项改为1,即使用AndroidPhone协议登录。

右键gocq包中的bat文件,点击编辑,加上参数-update-protocol
当然地,这里的go-cqhttp.exe要与文件夹中的gocq程序文件名一致,从上方链接下载的文件名为go-cqhttp_windows_amd64.exe

请注意,这里修改的是单独启动gocq的bat文件,不是一键启动gocq和dd的,如果使用的是一键启动那么当然需要修改一键启动的.bat文件。


3.按照正常流程登录

如果一切顺利,你将走到短信验证这一步。

请注意,如果显示使用的版本不为5c0c22e,则你没有正确启动该版本gocq
如果未显示第二条红线对应的协议更新字段,则-update-protocol参数没打上


此方法成功率并不是100%。


目前gocq已更新1.1.0版本,支持自动调用签名api,与此方法原理差不多,但因为能用自己的android_id所以更推荐更新gocq并自己搭建。

    好耶,起码我用了成功了(喂)

    补充一下,如果登录成功之后依旧被风控,可以尝试在.bat里面再额外加入一行-sign-sendmsg
    完整如下↓

    %Created by go-cqhttp. DO NOT EDIT ME!%
    start cmd /K “go-cqhttp.exe -update-protocol -sign-sendmsg”

    使用时记得把versions里面的额外协议删除。(就是整个文件夹里不要留文件,整个文件夹都删掉也行)

    下载链接只有64位的Windows的,如果是32位的电脑要去源代码的网页里下载对应版本。
    改版gocq的GitHub下载地址:
    https://github.com/6DDUU6/go-cqhttp/actions/runs/5031737270

    上不去就翻墙。

    第一次能成功登陆,然后退出再登陆就是Packet timed out了,非常神秘

    一拳超埋 之前协议更新不了,不知道是不是gocq服务器的问题
    协议更新已经修复了,不过也可以试试使用1.1.0版本的签名服务器,和此方法原理一样并且不用更新协议也能登录。

    说点什么吧...