
Nikolai Smirnov
Software Development Lead

reCAPTCHA v2 广泛用于保护网站免受自动化滥用,但它经常成为合法自动化、测试和数据收集流程的主要障碍。如果您正在努力以编程方式解决 reCAPTCHA v2,本指南将向您展示如何使用 CapSolver API 可靠且高效地解决。
在本教程中,您将学习如何创建和提交 reCAPTCHA v2 解决任务,检索解决方案令牌,并使用 Python 和 Go 将 CapSolver 集成到您的工作流中。您可以选择使用自己的代理通过 ReCaptchaV2Task 或依赖 CapSolver 的内置代理通过 ReCaptchaV2TaskProxyLess。
CapSolver 提供了一种基于 API 的方法来解决 reCAPTCHA v2 挑战,具体步骤如下:
gRecaptchaResponse 令牌此令牌可以注入到您的目标请求或浏览器自动化流程中。
要解决 reCAPTCHA v2,您首先需要使用 createTask 方法创建一个任务。
以下是任务对象的结构:
type: 必填。应为 ReCaptchaV2Task 或 ReCaptchaV2TaskProxyLess。websiteURL: 必填。这是使用 reCAPTCHA v2 的网站的网址。websiteKey: 必填。这是域名的公钥。proxy: 可选。如果您使用代理,可以在此处包含。isInvisible: 可选。如果 reCAPTCHA 没有 pageAction,请将其设为 true。userAgent: 可选。如果您模拟浏览器,请在此处包含其 User-Agent。cookies: 可选。如果您需要使用 cookies,请在此处包含。以下是一个示例请求:
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ReCaptchaV2Task",
"websiteURL": "site",
"websiteKey": "site key",
"isInvisible": false,
"userAgent": "",
"cookies": [
{
"name": "__Secure-3PSID",
"value": "sdadasdasdsda"
},
{
"name": "__Secure-3PAPISID",
"value": "sd/AytXQTb6RUALqxSEL"
}
],
"proxy": ""
}
}
任务成功提交后,您将在响应中收到一个任务 ID:
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
一旦您获得任务 ID,就可以使用它来检索解决方案。使用 getTaskResult 方法提交任务 ID。结果应在 1 秒到 10 秒内准备好。
以下是一个示例请求:
{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
响应将包含解决方案令牌:
{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"userAgent": "xxx",
"expireTime": 1671615324290,
"gRecaptchaResponse": "3AHJ....." // 这是解决方案令牌
},
"status": "ready"
}
# 安装 CapSolver SDK
# pip install --upgrade capsolver
# 设置 CapSolver API 密钥
# export CAPSOLVER_API_KEY='YOUR_API_KEY'
import capsolver
# capsolver.api_key = 'YOUR_API_KEY'
# 解决 reCAPTCHA v2 挑战
solution = capsolver.solve({
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": "site url",
"websiteKey": "site key",
})
package main
import (
"fmt"
capsolver_go "github.com/capsolver/capsolver-go"
"log"
)
func main() {
// 安装 CapSolver SDK
// go get github.com/capsolver/capsolver-go
// 设置 CapSolver API 密钥
// export CAPSOLVER_API_KEY='YOUR_API_KEY'
// 或者
// capSolver := CapSolver{apiKey:"YOUR_API_KEY"}
capSolver := capsolver_go.CapSolver{}
solution, err := capSolver.Solve(map[string]any{
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
})
if err != nil {
log.Fatal(err)
return
}
fmt.Println(solution)
}
请将 YOUR_API_KEY 替换为您的实际 CapSolver API 密钥,并将 websiteURL 和 websiteKey 替换为您要解决的 reCAPTCHA 挑战的实际网站 URL 和网站密钥。
有关详细定价信息,请访问官方 CapSolver 定价页面:
https://www.capsolver.com/#pricing
如需了解更多关于解决 reCAPTCHA v2 的深入文档,请参考:
https://docs.capsolver.com/en/guide/recognition/ReCaptchaClassification/
领取您的 CapSolver 奖励代码
立即提升您的自动化预算!
在充值 CapSolver 账户时使用奖励代码 CAPN,每次充值可获得额外 5% 的奖励 —— 无限制。
现在就在您的 CapSolver 仪表板 中领取。
。
解决 reCAPTCHA v2 不必复杂或不可靠。通过 CapSolver,您可以使用一个简单的 API 自动完成整个过程,该 API 支持基于代理和无代理的解决方案。通过遵循本指南中概述的步骤——创建任务、检索结果并集成解决方案令牌——您可以在自动化、测试和数据提取场景中高效绕过 reCAPTCHA v2。
ReCaptchaV2Task 和 ReCaptchaV2TaskProxyLess 有什么区别?ReCaptchaV2Task 要求您提供自己的代理,而 ReCaptchaV2TaskProxyLess 使用 CapSolver 的内置代理,使设置更快更简单。
大多数任务在 1 到 10 秒 内完成,具体取决于挑战复杂度和系统负载。
gRecaptchaResponse 令牌可以重复使用吗?不可以。该令牌有时间限制,通常仅对一次验证尝试有效。每次 reCAPTCHA 挑战都应请求一个新的令牌。
不需要。CapSolver 完全通过 API 运行,可以集成到后端服务、脚本或自动化框架中,而无需启动浏览器。