reCAPTCHA Enterprise V2#


Метод автоматического решения на основе токенов для reCAPTCHA V2 Enterprise.
Полученный токен затем можно отправить на целевой веб-сайт в поле формы g-recaptcha-response или передать в функцию обратного вызова. Этот метод аналогичен reCAPTCHA V2, но для загрузки Captcha используется reCAPTCHA Enterprise API.

RecaptchaV2EnterpriseTaskProxyless Структура объекта задачи#

имятипНеобходимыйОписание
typeНитьДаRecaptchaV2EnterpriseTaskProxyless
websiteURLНитьДаПолный URL-адрес целевой страницы для загрузки капчи
websiteKeyНитьДаКлюч сайта reCAPTCHA. Его можно найти в атрибуте data-sitekey элемента div reCAPTCHA или в параметре k запроса к API reCAPTHCHA.
pageActionНитьНетДля дополнительных параметров вы можете выполнить поиск в grecaptcha.execute, чтобы найти параметры действия.
enterprisePayloadОбъектНетпараметр s в grecaptcha.enterprise.render
isInvisibleлогическое значениеНетДля невидимой версии reCAPTCHA укажите true — флажок вы не увидите, но появится запрос. Чаще всего используется с функциями обратного вызова
apiDomainНитьНетДоменное имя, используемое для загрузки капчи: google.com или recaptcha.net. По умолчанию: google.com.

Пример запроса#

конечная точка API: https://api.nextcaptcha.com/createTask

метод: POST

Тип содержимого: application/json

{
    "clientKey":"api key",
    "task": {
        "type":"RecaptchaV2EnterpriseTaskProxyless",
        "websiteURL":"https://www.google.com/recaptcha/api2/demo",
        "websiteKey":"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
        "enterprisePayload": { "s":  "eyJ0eXAi..." }
    }
}

Пример ответа#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "03AGdBq26gJ8Yq3z3Zzv"
  },
  "createTime": 1701234567890,
  "endTime": 1701234567890
}

Образец кода#

# https://github.com/nextcaptcha/nextcaptcha-python
 
import os
import sys
from nextcaptcha import NextCaptchaAPI
 
client_key = os.getenv('NEXTCAPTCHA_KEY', "YOUR_CLIENT_KEY")
 
api = NextCaptchaAPI(client_key=client_key)
try:
  result = api.recaptchav2enterprise(website_url="https://example.com", website_key="SITE_KEY")
 
except Exception as e:
  sys.exit(e)
 
else:
  sys.exit('solved: ' + str(result))
 

Ссылки по теме#