跳转到主要内容
获取令牌时遇到问题吗
联系支持

reCAPTCHA v3 Enterprise

注意!

任务通过我们的自有代理服务器执行。您无需为代理支付额外费用 —— 它们的使用已包含在价格中。

本节介绍了用于解决 Google reCAPTCHA v3 Enterprise 的任务说明。

reCAPTCHA v3 Enterprise 完全在后台运行,不需要用户执行任何操作。系统会分析页面访问者的行为和技术信号,并为每个请求生成一个风险评分。网站会根据这些数据,使用信任评分来决定是否允许该操作,该评分通常位于 0.10.9 的范围内。

请求参数

type<string>required

RecaptchaV3EnterpriseTask


websiteURL<string>required

进行验证码验证的页面地址


websiteKey<string>required

目标页面上的 ReCaptcha v3 标识密钥。

https://www.google.com/recaptcha/enterprise.js?render=THIS_ONE


minScore<double>optional

可取值范围为 0.10.9


pageAction<string>optional

通过 ReCaptcha 小组件传递给 Google 的 action 参数值, 在服务器端进行后续验证时,该值对网站所有者可见。 默认值:verify

HTML 示例:
grecaptcha.execute('site_key', {action:'login_test'})

创建任务方法

POST
https://api.capmonster.cloud/createTask

请求

{
"clientKey":"API_KEY",
"task": {
"type":"RecaptchaV3EnterpriseTask",
"websiteURL":"https://example.com",
"websiteKey":"6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d4TuRTE",
"minScore": 0.7
}
}

响应

{
"errorId":0,
"taskId":407533072
}
警告!

在某些网站上,确保 UserAgent 与解决验证码时使用的 UserAgent 相匹配非常重要。因此,如果 CapMonster Cloud 在返回令牌的同时提供了 UserAgent,请始终在提交表单或在目标页面确认解决方案时使用该 UserAgent。

使用 getTaskResult 请求获取 ReCaptcha3 的答案。根据服务负载情况,您将在 10 到 30 秒内收到响应。

POST
https://api.capmonster.cloud/getTaskResult

要求

{
"clientKey":"API_KEY",
"taskId": 407533072
}

回应

{
"errorId":0,
"status":"ready",
"solution": {
"gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
}
}

对于某些网站,响应可能如下所示。在确认解决方案时,必须使用响应中返回的 UserAgent,即使它与当前浏览器的 UserAgent 不一致:

{
"errorId":0,
"status":"ready",
"solution": {
"gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
}
}

属性类型描述
gRecaptchaResponseString应插入到 Recaptcha3 提交表单中的哈希值 <textarea id="g-recaptcha-response"></textarea>。长度为 500 到 2190 字节。

reCAPTCHA v3 Enterprise 与普通 reCAPTCHA v3 的区别

特性reCAPTCHA v3reCAPTCHA v3 Enterprise
脚本 URLhttps://www.google.com/recaptcha/api.js?render=site_keyhttps://www.google.com/recaptcha/enterprise.js?render=site_key
网站识别方式iframe 和脚本使用标准的 v3 URLiframe 和脚本的 URL 中包含 enterprise/enterprise.js/enterprise/anchor/enterprise/reload

实用的识别方法:

  1. 打开包含验证码的页面,并进入 DevTools > Network

  2. 查找 reCAPTCHA 相关脚本:

    • 如果 URL 包含 /enterprise.js → 这是 v3 Enterprise
    • 如果 URL 包含 /api.js → 这是普通 v3
  3. 也可以查看 reCAPTCHA 的 iframe: 在 Enterprise 版本中,iframe 的 URL 包含 /enterprise/anchor,而普通 v3 使用 /anchor

如何获取用于创建解题任务的 websiteKey

手动方式

  1. 打开显示验证码的目标页面。

  2. 在浏览器中打开 开发者工具,切换到 Network(网络) 选项卡。

  3. 刷新页面,关注以下类型的请求,例如:

    • https://www.google.com/recaptcha/enterprise/anchor?ar=1&k=
    • https://www.google.com/recaptcha/enterprise.js?render=
    • https://www.google.com/recaptcha/enterprise/reload?k=
    • https://www.google.com/recaptcha/enterprise/clr?k=
  4. 这些 URL 中的 k 参数即为所需的 websiteKey

自动方式

为了自动化获取所需参数,可以通过 浏览器(普通模式或 headless 模式,例如使用 Playwright)进行提取,或直接从 HTTP 请求中获取。由于动态参数的有效时间较短,建议在获取后尽快使用。

重要

所提供的代码片段仅作为获取必要参数的基础示例。具体实现方式取决于包含验证码的网站、本身的页面结构,以及所使用的 HTML 元素和选择器。

显示代码(用于浏览器控制台)
const iframe = document.querySelector('iframe[src*="recaptcha"]');

if (iframe) {
const src = iframe.src;
const k = new URL(src).searchParams.get('k');
console.log('Site key:', k);
} else {
console.log('未找到 reCAPTCHA iframe');
}
显示代码(Node.js)
// 本示例中使用 Playwright

const { chromium } = require("playwright");

(async () => {
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();

// 请替换为目标 URL
await page.goto("https://example.com/", {
waitUntil: "load",
});

await page.waitForSelector('iframe[src*="recaptcha"]', { timeout: 10000 });

const k = await page.evaluate(() => {
const iframe = document.querySelector('iframe[src*="recaptcha"]');
if (!iframe) return null;
return new URL(iframe.src).searchParams.get("k");
});

console.log("Site key:", k);

await browser.close();
})();