reCAPTCHA 求解 API 与 siteverify 不同
不能——Google 的 siteverify 端点无法签发 reCAPTCHA 响应令牌。它用于验证客户端提供的令牌。Enterprise 评估同样用于评估现有令牌;这两个端点都不会根据站点密钥生成令牌。
本页内容
根据所需任务选择 API
| API | 你提供的内容 | 获得的结果 |
|---|---|---|
| Google siteverify | 现有的响应令牌 | 验证结果 |
| Google Enterprise 评估 | 现有的响应令牌 | 对该令牌的评估 |
| solvethree 任务 | 受支持站点的主机名、操作和代理配置 | 一个就绪结果中包含解决方案令牌的任务 |
在 Google 的 reCAPTCHA v3 流程中,客户端 SDK 生成响应令牌,网站所有者的后端通过 siteverify 验证该令牌。在 Enterprise 流程中,客户端 SDK 生成令牌,后端创建评估。
如果你要为自己的网站添加验证,请使用相应的 Google 流程。如果你需要为受支持的目标使用解题服务,请使用 solvethree 的任务 API。解题服务提供令牌供目标评估,并不取代目标的验证。
实际的解题请求是什么样的
首先,确保目标网站有一个当前工作区可用的有效站点配置。发送主机名和操作名称不会创建配置。如果尚未满足此前提条件,请参阅站点配置设置。
在 solvethree API 上通过 POST /v1/tasks 创建任务,使用 Authorization: Bearer,后接工作区 API 密钥。请将该密钥保留在服务器端。
{
"site": "accounts.example.com",
"action": "login",
"proxy": "http://user:[email protected]:8080",
"requestId": "example_login_001"
}将示例中的主机名、操作名称和代理替换为目标请求所用的值。site 是主机名,而不是完整 URL。reCAPTCHA 请求必须提供 proxy 或 proxyCandidates,且只能二选一;不要添加 type 或 url。此示例使用默认的 recaptchaType,即 enterprise-v3;网关也接受 v3。
通过 GET /v1/tasks/:id 获取任务。当状态为 pending 或 solving 时,继续轮询。只有 ready 状态才包含可用的解题结果。如果状态变为 failed,请停止轮询并检查 errorCode 和 error。
不要将 Enterprise 令牌消耗在测试评估上
Google 文档说明,Enterprise 网站响应令牌在两分钟后过期,并且只能评估一次。请在即将发送受保护请求时请求解题。仅为检查令牌是否可用而创建评估,可能会在预期目标使用令牌之前将其消耗。
向预期目标提交 solution.token,而不是任务 ID。使用返回的 userAgent 和 secChUa 浏览器身份,以及解题时成功使用的代理。切换代理或混用无关的浏览器请求头可能导致后续请求失败。
任务状态为 ready 表示解题结果已可用,并不表示目标已接受你的应用请求。应根据目标的响应判断请求是否被接受,而不是根据任务是否已创建或就绪。
来源与 API 参考
运行您的第一个任务。
使用 $5 工作区额度开始体验。