使用Mirai登录时遇到的一些坑

说是一些坑,其实主要还是卡在了滑动验证码上,在服务器协议进行更新后,Mirai的滑动验证模块无法正常使用,不仅需要手动把这个依赖从core中踢出去,还需要设置一个额外的jvm参数来要求手动完成验证。

  1. device.json

    登录时能够遇到的问题,其实主要就是登陆验证问题,而最好的解决方法,莫过于直接让bot认为这是已经登陆过的设备,也就无需验证了。

    因此也就需要device.json了,通过一个json,QQ可以识别出设备的信息,也是通过这一个json,QQ可以识别出这个设备是否是已经被登陆过的设备,从而决定是否要求验证。

    Mirai提供了几种方式可以使用。其一是Mirai随机生成并保存下来,这样在第二次启动bot时,就会自动识别到json,对于已经完成了登陆验证的json,这样的启动方式能够使得bot在后续的启动中十分顺畅。

    而针对这个json,还有一种方式则是使用MiraiAndroid,在安卓端登陆后将json信息复制下来,并传到bot项目中,直接让bot识别到,假装是通过Android登录(不过这部分我在实践的时候遇到了一些问题,MiraiAndroid重复提醒登陆需要验证,似乎是没有完成验证,这样我虽然拿到了json,但却是没有经过验证的,没什么用)。

    总的来说,这部分如果能拿到一个已经通过验证的json是最好的,如果拿不到也没事,只要手动通过一次验证,之后登录再用这个json就可以了。

  2. 滑动验证码

    这部分除了文章开头所说的一些额外配置以外,还有一些手动通过验证的方法需要注意。

    和json一样,手动验证部分Mirai官方也给出了两种方案,一种是通过chrome的远程调试(在pc端对手机端进行调试),另一个则是通过额外提供的一个工具。

    不管是哪一种其实原理都一样,就是在手机端完成验证并抓包,得到记录下来的ticket,输入ticket就可以证明完成了验证。

  3. 设备锁

    在克服了上面两个艰难险阻之后,终于来到了设备锁这部分。

    对于每个账户,也是通过一次验证后就不用再进行验证了。在窗口出现后,点击开始验证,根据QQ的流程能够很快的完成这次验证(不过我的却验证错了,我也不知道到底是我输入错误还是QQ抽了什么风——我觉得我输入的都是对的就是了)。

    如果你很不幸,像我一样没有通过这一次能看到网页的机会通过验证,那接下来还有机会——尽管接下来每次点击验证都只能看到白色的空空如也的网页。

    在进行网络监控后,我发现总有一些资源无法正确加载,而在朋友的指点下(bridge,他认为应该是手机上的唤起一类的),我把这个空空如也的网址发送到了手机端,进行了操作——然后就出现了网页。

    看来确实是唤起,这个网页拉起了QQ,并需要扫描二维码进行验证——只要扫描一个目前已经登陆了该账号的设备的二维码就行。

至此,经过了三段艰难险阻,我才最终把Mirai的滑动验证翻过去,我也只好说幸好有朋友指点,也幸好这个验证只需要进行一次……

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值