简介
reCaptcha 是 google 的一种网页爬虫机器人检测产品,它提供了基于加密和图像识别机制来防护垃圾流量的攻击,在本篇文章中,我们将为您介绍如何使用我们的服务去解决 recaptcha 的挑战,并获得有效的 token
使用方法
使用 EzCaptcha 服务绕过 reCaptcha。在本技术博客中,我们将通过使用 EzCaptcha 服务指导您绕过 reCaptcha 的过程。EzCaptcha 提供了解决 reCaptcha 的不同任务类型:
任务类型
ReCaptchaV2TaskProxyless: 此任务为reCaptcha V2解决方案,使用服务器内置代理
RecaptchaV2EnterpriseTaskProxyless: 此任务为reCaptcha V2Enterprise解决方案,使用服务器内置代理
ReCaptchaV2STaskProxyless: 此任务为reCaptcha V2带s参数解决方案
RecaptchaV2SEnterpriseTaskProxyless: 此任务为reCaptcha V2Enterprise带s参数解决方案
ReCaptchaV3TaskProxyless: 此任务为reCaptcha V3解决方案,使用服务器内置代理。
ReCaptchaV3TaskProxylessS9: 此任务类型使用服务器内置代理并使得返回的token分数至少为0.9。
ReCaptchaV3EnterpriseTaskProxyless: 此任务为reCaptcha V3Enterprise解决方案,使用服务器内置代理
开始使用时,您需要使用createTask
方法创建识别任务。以下是如何创建任务及所需参数的示例
clientKey: 您账号的用户密钥
type: 上述中的任务类型
websiteURL: 使用了reCaptcha的网页的完整URL
websiteKey: 网站所使用的reCaptcha sitekey
pageAction: 当你的任务类型是V3或V3企业版时,应该查找到网页所使用的pageAction并填入
isInvisible: 是否为invisible模式,V2版本存在可见和不可见两种模式,V3一般只存在不可见模式
s: 有的网站V2版recapthca风控较为严格,会使用谷歌提供的s参数来标志唯一的一次验证,同时任务类型应指定使用我们提供的RecaptchaV2STaskProxyless 或 RecaptchaV2SEnterpriseTaskProxyless类型来解决
示例请求
POST https://api.ez-captcha.com/createTask
Host: api.ez-captcha.com
Content-Type: application/json
{
"clientKey":"yourapiKey",
"task":
{
"type":"RecaptchaV3TaskProxyless",
"websiteURL":"https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php",
"websiteKey":"6LdyC2cUAAAAACGuDKpXeDorzUDWXmdqeg-xy696",
"pageAction": "examples/v3scores",
"isInvisible": true
}
}
一旦成功提交任务,您将在响应中收到任务 ID:
JSON
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
获得任务 ID 后,您可以使用它查询 token 是否已生成。使用 getTaskResult 接口提交任务 ID。V3 的任务结果应在 1 秒到 10 秒的间隔内生成(我们的 v3 平均响应速度是 3s)。 以下是示例请求:
POST https://api.ez-captcha.com/getTaskResult
Host: ez-captcha.com
Content-Type: application/json
{
"clientKey":"YOUR_API_KEY",
"taskId": "TASKID OF CREATETASK" //由createTask方法创建的ID
}
响应格式如下:
{
'errorId': 0,
'solution': {
'gRecaptchaResponse': 'xxxx' // 结果为ready时,将存在token结果
},
'status': 'ready' // 如果状态为processing,则还没生成结果,如果为ready,则token已准备好
}
如果 status 为 processing 时,您需要再等待结果,间隔一定时间后重新再请求接口获取结果,如果 status 为 ready,则说明 token 已准备好,您可以在结果 json 的 solution 对象中的 gRecaptchaResponse 获取到 token
reCaptcha
Cloudflare
DataDome
reCaptcha v3
hCaptcha
reCaptcha v3 Enterprise
FunCaptcha
EzCaptcha
WebScraping
reCAPTCHA v2
hCaptcha Enterprise
reCaptcha v2 Enterprise
Captchas