在 solvethree 上完成首次 CAPTCHA 求解
先完成一次 reCAPTCHA Enterprise 解答,而不是直接批量处理。你需要工作区 API 密钥、有效的站点配置和自己的 HTTP 代理。然后将返回的令牌提交给目标,再扩大处理规模。
本页内容
1. 设置工作区和 API 密钥
- 1.
注册并设置工作区
从注册开始。API 密钥、站点配置和余额应使用同一个工作区。
- 2.
创建密钥
在控制台中打开“API 密钥”。选择“创建 API 密钥”,输入“密钥名称”,然后选择“创建密钥”。
- 3.
保存密钥值
复制“保存你的 API 密钥”下显示的密钥值,并妥善保存,然后再选择“我已保存此密钥”。之后无法通过“显示前缀”恢复完整密钥值。请将密钥保存在服务器上,而不是浏览器代码中。
欢迎赠送余额为 $5。如需充值,最低充值金额为 $10。reCAPTCHA 每 1,000 次解答收费 $2.00;就绪任务会计费,解答失败则退款。
2. 激活目标的站点配置
- 1.
添加目标页面
打开站点配置,选择“添加站点”。输入目标的 HTTPS 页面 URL,并选择 Enterprise v3。
- 2.
设置捕获操作
使用你所集成的操作所要求的 action。下面的请求示例使用 login,因此只有当目标的实际 action 是 login 时才使用它。每个主机名、捕获操作和 reCAPTCHA 类型组合添加一个配置。
- 3.
等待配置生效
选择“添加站点”。部分账户会先看到“充值以继续”。根据提交内容,配置可能会经历捕获、验证或审核状态。仅在配置生效后继续;捕获所需时间不作保证。如果捕获失败,请先阅读原因,再重试。
在任务中发送主机名和 action 不会创建配置。首次解答时,请在任务中使用与配置完全一致的捕获操作。有关可选字段和操作选择,请参阅站点配置设置。
3. 发送一个 Enterprise 请求
将以下请求体发送至 POST https://api.solvethree.com/v1/tasks。使用 Authorization 请求头进行身份验证,其值为 Bearer 后接你的工作区 API 密钥。
{
"site": "accounts.example.com",
"action": "login",
"proxy": "http://user:[email protected]:8080",
"requestId": "example_login_001"
}- 将
site替换为目标主机名,而不是完整页面 URL。将action替换为首次解答所选的操作。 - 将
proxy替换为你的 HTTP 代理 URL 和凭据。此请求使用一个代理;不要同时发送proxyCandidates。 - 为此逻辑请求选择一个
requestId,并将其与提交的输入一起保存。它接受 1–64 个 ASCII 字母、数字、下划线或连字符。 - 不要包含
type和url。省略recaptchaType时,请求默认使用 Enterprise v3。
完整的 Python 实现请参阅在 Python 中使用 reCAPTCHA Enterprise。此处的请求展示了你需要先准备的值。
4. 持续查询任务,直到完成
保存创建时返回的任务 ID。使用 GET https://api.solvethree.com/v1/tasks/:id 查询任务,将 :id 替换为该 ID,并使用相同的 Bearer 身份验证。
- 在将响应体作为成功的任务响应读取之前,先检查是否收到非成功的 HTTP 响应。
- 当状态为
pending或solving时,继续轮询。这两种状态都不包含可用的解答。 - 当状态为
ready时,停止轮询并读取solution。 - 当状态为
failed时,停止轮询并检查errorCode和error。失败的解答会退款。
就绪响应的结构如下。这些令牌和浏览器身份值是占位内容,并非实际可用的解答。
{
"id": "example-task",
"status": "ready",
"solution": {
"token": "EXAMPLE_TOKEN",
"userAgent": "EXAMPLE_USER_AGENT",
"secChUa": "EXAMPLE_CLIENT_HINTS"
}
}5. 使用相同的代理和浏览器身份提交令牌
- 1.
发送令牌,而不是任务 ID
将
solution.token放在预期目标接收 reCAPTCHA 令牌的位置。检查发出的请求,确保发送的不是任务 ID 或旧令牌。 - 2.
使用返回的浏览器身份
在目标请求中使用
solution.userAgent和solution.secChUa,并使用本次解答所提供的同一代理。不要将它们与无关的浏览器身份混用,也不要将令牌提交到不同的目标 URL。 - 3.
检查目标的响应
确认目标已接受预期操作。任务就绪表示 solvethree 已生成解答,并不保证目标会接受你随后发出的请求。
开始批量处理前,先让目标接受这一次请求。如果请求被拒绝,请在购买更多解答之前检查提交的令牌、浏览器身份、代理和目标 URL。
运行您的第一个任务。
使用 $5 工作区额度开始体验。