如何识别 reCAPTCHA v3
上方的方框运行一个实时的 reCAPTCHA v3 检查。reCAPTCHA v3 是隐形且基于评分的:它返回一个 g-recaptcha-response token,供你的服务器验证,评分范围从 0.0(机器人)到 1.0(人类)。本页展示三种简单的方式来识别 reCAPTCHA v3 并获得有效 token:用 CapSkip 浏览器扩展自动识别、在你自己的代码中用 CapSkip SDK 识别,或把你的工具已经调用的验证码服务路由到 CapSkip。CapSkip 在你的设备上本地运行,因此没有按次费用,也没有任何数据离开你的机器。
选项 1:用浏览器扩展识别 reCAPTCHA v3
绕过 reCAPTCHA v3 最简单的方式是面向 Chrome 和 Firefox 的 CapSkip 验证码识别扩展 。它会在任意页面上检测 reCAPTCHA v3 脚本,并在后台自动生成 token,无需编写代码。
安装扩展
从 Chrome 应用商店或 Firefox 附加组件添加 CapSkip。它同样适用于 Brave、Edge、Opera 和 Vivaldi。
运行 CapSkip 应用
安装并打开 CapSkip 桌面应用。它在你自己的设备上完成识别,并与扩展配对。
它会自动识别
重新加载本页,CapSkip 会在后台生成一个 reCAPTCHA v3 token。想保持掌控?随时切换到手动模式。
选项 2:用 CapSkip SDK 识别 reCAPTCHA v3
在构建自动化、爬虫或机器人?使用 CapSkip 验证码识别 SDK 从以下语言识别 reCAPTCHA v3: Python, Node.js, PHP 或 C#。你传入本页的 site key、action 和 URL,CapSkip 会返回一个可像真实 token 一样提交的新 g-recaptcha-response token。
6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL
demo
https://capskip.com/zh/captcha-demo/recaptcha-v3/
开始之前
CapSkip 在本地识别。下载并运行 CapSkip 桌面应用 并让它在后台保持打开。SDK 通过 127.0.0.1:8080与它通信,因此没有云端调用,也没有按次费用。
安装 SDK
将官方 CapSkip 客户端添加到你的项目中。
pip install capskipnpm install capskipcomposer require capskip/capskipdotnet add package CapSkip识别 reCAPTCHA v3 并获取 token
传入本页的 sitekey, action 和 url 设置为 recaptcha() 连同 version="v3"。CapSkip 会返回一个新的 g-recaptcha-response token。
from capskip import CapSkip
# Connect to the CapSkip app running on your machine
solver = CapSkip(host="127.0.0.1", port=8080)
# Solve the reCAPTCHA v3 on this page
result = solver.recaptcha(
sitekey="6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL",
url="https://capskip.com/zh/captcha-demo/recaptcha-v3/",
version="v3",
action="demo",
)
token = result["code"] # the g-recaptcha-response token
print(token)const { CapSkip } = require('capskip');
// Connect to the CapSkip app running on your machine
const solver = new CapSkip({ host: '127.0.0.1', port: 8080 });
(async () => {
// Solve the reCAPTCHA v3 on this page
const result = await solver.recaptcha(
'6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL',
'https://capskip.com/zh/captcha-demo/recaptcha-v3/',
{ version: 'v3', action: 'demo' },
);
const token = result.code; // the g-recaptcha-response token
console.log(token);
})();<?php
require 'vendor/autoload.php';
use CapSkip\CapSkip;
// Connect to the CapSkip app running on your machine
$solver = new CapSkip(['host' => '127.0.0.1', 'port' => 8080]);
// Solve the reCAPTCHA v3 on this page
$result = $solver->recaptcha(
'6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL',
'https://capskip.com/zh/captcha-demo/recaptcha-v3/',
['version' => 'v3', 'action' => 'demo']
);
$token = $result['code']; // the g-recaptcha-response token
echo $token;using CapSkip;
// Connect to the CapSkip app running on your machine
var solver = new CapSkipClient(host: "127.0.0.1", port: 8080);
// Solve the reCAPTCHA v3 on this page
var result = await solver.RecaptchaAsync(
"6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL",
"https://capskip.com/zh/captcha-demo/recaptcha-v3/",
new Dictionary<string, object?> { ["version"] = "v3", ["action"] = "demo" });
string token = result.Code; // the g-recaptcha-response token
Console.WriteLine(token);你会得到一个很长的 g-recaptcha-response token,可随时提交。
使用 token
将 token 放入隐藏的 g-recaptcha-response 字段(或直接发送到你的后端),然后提交。你的服务器通过 Google siteverify 验证它,后者返回 score 和 action。请注意,本页上的 校验 按钮会运行它自己的 grecaptcha.execute() 调用,因此它始终对一个新生成的浏览器 token 评分,而不是你放入字段中的那个。reCAPTCHA v3 token 是一次性的,约两分钟后过期,因此请立即使用每一个。
// Drop the solved token into the reCAPTCHA v3 response field
document.querySelector('[name="g-recaptcha-response"]').value = token;
// ...then submit your form. Your backend verifies the token with Google
// siteverify and checks the returned score and action.在其他 reCAPTCHA v3 站点上使用 CapSkip
reCAPTCHA v3 是隐形的,因此先确认页面是否使用它:没有复选框,且 api.js 脚本加载时带有一个 render=SITEKEY 参数。要用 SDK 识别它,你需要页面上的三个值:
- 网站密钥(Site key): 小组件上的
render=SITEKEY脚本 URL 中的api.js值。 - 动作: 在页面的 JavaScript 中搜索
grecaptcha.execute()调用,并读取传给它的action值。如果找不到,请使用verify,这是默认值。 - 页面 URL: 页面的完整地址。
reCAPTCHA v3 Enterprise
如果页面加载 enterprise.js 而不是 api.js,请添加 enterprise 标志:
result = solver.recaptcha(
sitekey="6Lc...ENTERPRISE_SITEKEY",
url="https://example.com/",
version="v3",
action="demo",
enterprise=1,
)
token = result["code"] # the g-recaptcha-response tokenconst result = await solver.recaptcha(
'6Lc...ENTERPRISE_SITEKEY',
'https://example.com/',
{ version: 'v3', action: 'demo', enterprise: 1 },
);
const token = result.code; // the g-recaptcha-response token$result = $solver->recaptcha(
'6Lc...ENTERPRISE_SITEKEY',
'https://example.com/',
['version' => 'v3', 'action' => 'demo', 'enterprise' => 1]
);
$token = $result['code']; // the g-recaptcha-response tokenvar result = await solver.RecaptchaAsync(
"6Lc...ENTERPRISE_SITEKEY",
"https://example.com/",
new Dictionary<string, object?> { ["version"] = "v3", ["action"] = "demo", ["enterprise"] = 1 });
string token = result.Code; // the g-recaptcha-response token还可提供一个 proxy ,当站点按 IP 对请求评分时会有帮助。
不使用 Python、Node.js、PHP 或 C#?这些 SDK 只是 CapSkip HTTP API 的封装(即标准的 由以下端点返回的验证码 ID: / res.php 端点),因此你可以从 任何语言、框架或工具识别 reCAPTCHA v2。参见 reCAPTCHA v3 API 参考.
选项 3:将你现有的识别服务代码发送到 CapSkip
已经在通过按次收费的服务(例如 2Captcha, Anti-Captcha 或 CapMonster)识别基于回调的 reCAPTCHA v2?你无需重写一行代码。CapSkip 应用包含一个 服务模拟器 ,它在本地讲这些服务自己的 API:选择你使用的服务,点击 添加到 hosts 文件,你的机器人、爬虫或现成工具已经发送给它的每个请求,都会由 CapSkip 在你自己的机器上响应,采用统一价格而非按次账单。
选择你的服务
打开 CapSkip 应用,选择你的代码已经在对接的服务:2Captcha、RuCaptcha、Anti-Captcha、CapMonster Cloud、CapSolver、DeathByCaptcha、SolveCaptcha 或 Captchas.io。
添加到 hosts 文件
在应用中一键将该服务的域名指向 CapSkip,于是你的工具发出的调用会在你自己的机器上得到响应,而不是发往付费 API。
原样运行你的工具
相同的 API 密钥、相同的请求、相同的轮询循环。CapSkip 以该服务自己的格式回复,你的代码会得到一个针对你所请求 action 的有效 g-recaptcha-response token。
切换时下面的内容不会改变。这与你今天代码发出的调用完全相同,只是 reCAPTCHA v3 现在在本地识别,并由 CapSkip 返回一个针对你所请求 action 的有效 g-recaptcha-response token:
POST https://2captcha.com/in.php
key=YOUR_EXISTING_API_KEY
method=userrecaptcha
googlekey=6LcHaCstAAAAALdP4qCWUKOpcNDRhpT099YkCeQL
pageurl=https://capskip.com/zh/captcha-demo/recaptcha-v3/
version=v3
action=verify
min_score=0.7
GET https://2captcha.com/res.php?key=YOUR_EXISTING_API_KEY&action=get&id=2122988149
OK|03AGdBq26… the v3 token, solved by CapSkip客户端库同样如此:Anti-Captcha 风格的 createTask / getTaskResult 配对,或任何基于这些服务构建的封装,在模拟器开启后都能继续工作。完整的请求和响应参考见 CapSkip API 文档.
关于识别 reCAPTCHA v3 的更多内容
针对人们通常与此演示搭配使用的工具和语言的指南。
关于此 reCAPTCHA v3 演示
本页是一个实时的 reCAPTCHA v3 演示 ,你可以在此测试 reCAPTCHA v3 如何工作,并实时观看它被识别。reCAPTCHA v3 是 Google 隐形、基于评分的验证码:它在后台运行、分析行为,并返回一个 g-recaptcha-response token,评分范围从 0.0(机器人)到 1.0(人类)。没有复选框,也没有图片网格,只有一个供你的服务器与阈值比较的风险评分。
开发者、测试人员和自动化工程师可以使用这个 reCAPTCHA v3 测试页面,来观察 token 生成、评分评估和 action 参数,并对 CapSkip 识别 reCAPTCHA v3 的表现进行基准测试。无论你需要识别一次 reCAPTCHA v3,还是自动完成数千次识别,CapSkip 都是一款 reCAPTCHA v3 识别工具 ,它有三种工作方式:面向 Chrome 和 Firefox 的免代码 验证码识别扩展 ,面向 Python、Node.js、PHP 和 C# 的 验证码识别 SDK ,以及对你今天可能按次付费的验证码服务的即插即用模拟,全部以统一价格无限量识别。三者都由同一个桌面 AI 验证码识别工具驱动,安装一次即可在你自己的机器上运行,因此没有任何内容在远程服务器排队,也没有任何按次计费。
