求解验证码

基本概念

验证码的求解遵循之前在 基本概念 中介绍的准则,即从设计上将验证中产生的数据与代码逻辑分离。

  • Captcha 类包含验证码求解和验证流程。

  • 每次验证都产生一个继承 BaseTcaptchaSessionxxCaptchaSession,它保存了验证服务器发送的数据。

  • 所有的验证码求解都隐藏在了 tylisten 回调框架后。验证过程中调用的是对应的“占位符”,由下游应用为这些占位符注册相应的行为。我们使用同样的接口定义每种行为,无论下游开发者选择机器求解或是人力求解。此外程序中也不再需要任何内建的验证码求解算法,从而提高了程序的可维护性。

支持的验证码

目前支持两种验证码:

  1. 滑块验证码

参见

由于2023年后滑块验证码出现的频率有一定下降,同时为了减少不必要的依赖项、提高代码的可维护性,我们将滑块验证码的机器求解方案分离到了一个独立的包 slide-tc 。它是 QQQR (aioqzone) 的额外依赖项。

  1. 图片点击验证码

Table of Contents