跳转到内容

reCAPTCHA v3

reCAPTCHA v3 没有复选框也没有图片,网页在后台给访问者打分。YesCaptcha 返回一个 token(gRecaptchaResponse),提交给目标网站即可。RecaptchaV3TaskProxyless 每个任务 20 点(0.02 元),异步返回:先 createTask,再每 5 秒 getTaskResult。识别失败、超时自动退点。

POSThttps://api.yescaptcha.com/createTask国际节点
POSThttps://cn.yescaptcha.com/createTask国内节点

请求体是 JSON,用 clientKey 鉴权。在哪个节点创建的任务,就到哪个节点查询结果。

  • 网页源码里有 grecaptcha.execute(...),或者加载 recaptcha/api.js?render=网站密钥:普通版 v3。
  • 调用的是 grecaptcha.enterprise.execute(...),或者加载 recaptcha/enterprise.js:企业版 v3,用 RecaptchaV3EnterpriseTask、RecaptchaV3EnterpriseTaskM1。

判断方法见 判断验证码类型。

任务类型价格返回方式说明
RecaptchaV3TaskProxyless20 点(0.02 元)异步
RecaptchaV3TaskProxylessM125 点(0.025 元)异步
RecaptchaV3TaskProxylessM1S730 点(0.03 元)异步固定要求分数 0.7,不需要额外参数
RecaptchaV3TaskProxylessM1S935 点(0.035 元)异步固定要求分数 0.9,不需要额外参数
RecaptchaV3EnterpriseTask20 点(0.02 元)异步
RecaptchaV3EnterpriseTaskM125 点(0.025 元)异步
  • RecaptchaV3TaskProxyless 和 RecaptchaV3TaskProxylessM1 参数相同、线路不同,可以互为备用。
  • 目标网站要求的分数较高时,用固定分数的 RecaptchaV3TaskProxylessM1S7(0.7)或 RecaptchaV3TaskProxylessM1S9(0.9),不需要额外参数。
字段类型必填说明
typestring是任务类型,取值见本页"类型与价格"
websiteURLstring是出现验证码的网页地址(完整 URL)。填你看到验证码的网站,不要填验证码厂商的域名
websiteKeystring是网站密钥(sitekey),在网页源码或请求里找,一般固定不变
pageActionstring否reCAPTCHA v3 的 action 值,要和网页里 grecaptcha.execute 传的一致,否则得到的 token 可能无效

pageAction 要和网页调用 grecaptcha.execute(网站密钥, {action: '...'}) 时传的 action 一致,填错了 token 可能被网站拒绝。找法见 查找 reCAPTCHA 参数。

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "RecaptchaV3TaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "SITE_KEY_OF_THE_PAGE",
"pageAction": "login"
}
}
终端窗口
curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "RecaptchaV3TaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "SITE_KEY_OF_THE_PAGE",
"pageAction": "login"
}
}'
# 返回 {"errorId":0,"taskId":"..."},然后每 5 秒查询一次结果:
curl -s https://api.yescaptcha.com/getTaskResult \
-H 'Content-Type: application/json' \
-d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'

把 websiteURL、websiteKey、pageAction 换成目标网站的值。

{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AGdBq25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnGnU..."
}
}
字段类型说明
gRecaptchaResponsestring得到的 token,提交给目标网站。一次性使用,约 120 秒内有效,建议 60 秒内用掉

处理中时返回 {"errorId": 0, "status": "processing"},5 秒后再查。出错时按 errorCode 处理,见 错误码。拿到 token 后怎么提交,见 用 token 完成 reCAPTCHA。

为什么 token 有时不被网站接受?

Section titled “为什么 token 有时不被网站接受?”

v3 由目标网站根据分数判断,网站设置的门槛可以随时调整,不是每个 token 都能通过。确认 pageAction 正确;网站要求高分时试试 M1S7、M1S9;也可以对比同类的其他类型。

和普通版一样填 websiteURL、websiteKey、pageAction,类型换成 RecaptchaV3EnterpriseTask 或 RecaptchaV3EnterpriseTaskM1。

一次性使用,约 120 秒内有效,建议 60 秒内提交。