JavaScript 验证码解码器
使用 JavaScript 绕过验证码,包括广泛使用的 reCAPTCHA。
一旦将验证码旁路 API 集成到您的 Node.js 应用程序中,您就有了一个坚实的基础,可以在此基础上开发更具弹性和自动化的解决方案。该 API 可实现 绕过任何类型的验证码,包括 reCAPTCHA、 hCaptcha、Arkose Labs Funcaptcha和Cloudflare Turnstile。
考虑将这种旁路逻辑直接嵌入到网页脚本中,尤其是在验证码难题可能会阻碍无缝自动化流程的情况下。这样做可以简化工作流程,提高网络自动化任务的效率。
旁路代码示例演示了如何轻松有效地将此解决方案集成到系统中。通过应用该示例,您可以毫不费力地绕过验证码并自动执行任务,这与服务和应用程序开发尤为相关。自动解决验证码问题,轻松绕过验证码。
快速开始安装
脚本包可通过安装程序安装或人工安装
配置
配置已安装软件包的所有必要参数说明
Solver
类实例可按照如下方法创建:
import { Solver } from '@2captcha/captcha-solver'
const solver = new Captcha.Solver("<Your 2captcha api key>")
解决验证码
当您提交任何基于图像的验证码时,可使用附加选项帮助 2Captcha 工作人员正确解决验证码问题
验证码选项
选项 | 默认值 | 说明 |
---|---|---|
numeric | - | 定义验证码是否包含数字或其他符号查看API文档中的更多信息 |
min_len | - | 最小答案长度 |
max_len | - | 最大回答长度 |
phrase | - | 定义答案是否包含多个单词 |
regsense | - | 定义答案是否区分大小写 |
calc | - | 定义captcha需要计算 |
lang | - | 定义验证码语言,请参阅支持的语言列表 |
textinstructions | - | 使用captcha向工作人员显示的提示或任务文本 |
要绕过普通验证码(图像上的文字扭曲),请使用以下方法。这种方法也可用于识别图像上的任何文字。
solver.imageCaptcha({
body: 'data:image/png;base64,iVBORw0KGgoAAAANSUhE...',
})
.then((res) => {
// Logs the image text
console.log(res);
})
使用此方法解决 reCAPTCHA V2 问题,并获得绕过保护的令牌。
solver.recaptcha({
pageurl: 'https://2captcha.com/demo/recaptcha-v2',
googlekey: '6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u'
})
.then((res) => {
console.log(res);
})
此方法提供reCAPTCHA V3求解器并返回令牌。
solver.recaptcha({
pageurl: 'https://2captcha.com/demo/recaptcha-v3',
googlekey: '6Lcyqq8oAAAAAJE7eVJ3aZp_hnJcI6LgGdYD8lge',
version: "v3",
min_score: "0.4",
action: 'demo_action'
})
.then((res) => {
console.log(res);
})
FunCaptcha(Arkoselabs)求解方法。 返回令牌。
solver.funCaptcha({
pageurl: "https://www.site.com/page/funcaptcha",
publickey: "823480F4-6844-FFA1-ED4E-5877CA1F1EG0"
})
.then((res) => {
console.log(res);
})
解决GeeTest puzzle captcha的方法。 返回一组令牌作为JSON。
solver.geetest({
pageurl: 'https://2captcha.com/demo/geetest',
gt: '81388ea1fc187e0c335c0a8907ff2625',
challenge: '12345678abc90123d45678ef90123a456b'
})
.then((res) => {
console.log(res);
})
使用此方法解决hCaptcha挑战。 返回绕过验证码的令牌。
solver.hcaptcha({
pageurl: "https://www.site.com/page/",
sitekey: "10000000-ffff-ffff-ffff-000000000001"
})
.then((res) => {
console.log(res);
})
基于令牌的方法来绕过Capy puzzle captcha。
solver.capyPuzzle({
pageurl: "http://mysite.com/",
captchakey: "PUZZLE_Abc1dEFghIJKLM2no34P56q7rStu8v"
})
.then((res) => {
console.log(res);
})
ClickCaptcha方法返回captcha图像上点的坐标。 如果您需要点击图像上的特定点,可以使用。
solver.coordinates({
body: 'data:image/png;base64,iVBORw0KGgoAAAANSUhE...',
textinstructions: 'Select all photos containing the boat'
})
.then((res) => {
console.log(res);
})
其他方法
主要脚本执行时可用的其他方法
send / get
上述方法可用于人工提交验证码和答案轮询。
solver.imageCaptcha({
body: 'data:image/png;base64,iVBORw0KGgoAAAANSUhE...',
})
.then((res) => {
// Logs the result
console.log(res);
})
balance
以此方法获取账户余额。
solver.balance()
.then((res) => {
console.log(res)
})
report
以此方法报告验证码答案之优劣。
solver.goodReport('7031846604') // captcha solved correctly
solver.badReport('7031854546') // captcha solved incorrectly
错误处理
网站在处理请求时返回的标准错误的可能变体
如果出现错误,验证码解算器会抛出异常。正确处理这些情况非常重要。我们建议使用 try/catch
或 .catch()
来处理异常。
solver.imageCaptcha({
body: 'data:image/png;base64,iVBORw0KGgoAAAANSUhE...',
})
.then((res) => {
// Logs the result
console.log(res);
})
.catch((err) => {
// Error handling
console.log(err);
})