Объект содержит данные о задаче на решение reCAPTCHA Enterprise от Google. Такая задача будет выполняться нашим сервисом с использованием наших собственных прокси-серверов.

Структура объекта

Параметр

Тип

Обязательный

Значение

type

String

да

RecaptchaV2EnterpriseTaskProxyless

websiteURL

String

да

Адрес страницы на которой решается каптча

websiteKey

String

да

Ключ-идентификатор reCAPTCHA на целевой странице.
<div class="g-recaptcha" data-sitekey="ВОТ_ЭТОТ"></div>
или <iframe title="reCAPTCHA" src="...;k=6LdIFr0ZAAAAAO3vz0O0OQrtAefzdJcWQM2TMYQH&amp;... , где 6LdIFr0ZAAAAAO3vz0O0OQrtAefzdJcWQM2TMYQH - websiteKey

enterprisePayload

String

нет

Некоторые реализации виджета reCAPTCHA Enterprise могут содержать дополнительное поле s в структуре, которая передаётся в метод grecaptcha.enterprise.render вместе с sitekey.

Например:

2JvUXHNTnZl1Jb6WEvbDyBMzrMTR7oQ78QRhBcG07rk9bpaAaE0LRq1ZeP5NYa0N из:

grecaptcha.enterprise.render("some-div-id", {
 sitekey: "6Lc_aCMTAAAAABx7u2N0D1XnVbI_v6ZdbM6rYf16",
 theme: "dark",
 s: "2JvUXHNTnZl1Jb6WEvbDyBMzrMTR7oQ78QRhBcG07rk9bpaAaE0LRq1ZeP5NYa0N...ugQA"
 });

Подробнее ниже.

apiDomain

String

нет

Адрес домена с которого загружать reCAPTCHA Enterprise. Например:

Не используйте параметр, если не знаете зачем он нужен.

Для enterprisePayload - необходимо заменять функцию grecaptcha.enterprise.render перед её вызовом на свою и забирать значение из её параметров. Функция существует после загрузки скрипта, а рендерится капча обычно сразу или по событию страницы, если капча отрендерится с текущим полем s на клиенте, то токен с большой вероятностью принят не будет.
Оригинальную функцию можно вызывать без поля s.

var __test_grc = undefined;
var __test_enterprise = undefined;
var __test_render = undefined;
var __test_render_widget = undefined;
var __test_render_args = undefined; // здесь будет лежать объект, с которым вызывается render.
var __test_handler = {
  get: function(target, name, receiver) {
    if (name == 'enterprise') {
      return __test_enterprise ? __test_enterprise : (__test_enterprise = new Proxy(target[name], __test_handler));
    } else if (name == 'render') {
	  
	  __test_render = target[name];
	  return (function(a, b) { __test_render_args = b; __test_render_widget = a; return __test_render(a, {sitekey: b.sitekey}); });
    } else {
	  return target[name];
	}
  }
};

Object.defineProperty(window, 'grecaptcha', {
enumerable: true,
configurable: false,
get: function() {
return __test_grc;
},
set: function(value) {
__test_grc = new Proxy(value, __test_handler);
}
});

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

Адрес https://api.capmonster.cloud/createTask

{
    "clientKey":"dce6bcbb1a728ea8d871de6d169a2057",
    "task":
    {
        "type":"RecaptchaV2EnterpriseTaskProxyless",
        "websiteURL":"https://mydomain.com/page-with-recaptcha-enterprise",
        "websiteKey":"6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd",
        "enterprisePayload": {
                "s": "SOME_ADDITIONAL_TOKEN"
            }
    }
}

 

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

{
    "errorId":0,
    "taskId":407533072
}

Получение результата

Используйте метод getTaskResult чтобы получить решение ReCaptcha2. В зависимости от загрузки системы вы получите ответ через время в диапазоне от 10 с до 80 с.

Свойство

Тип

Описание

gRecaptchaResponse

String

Хеш который необходимо подставить в форму с reCAPTCHA Enterprise в <textarea id="g-recaptcha-response" ..></textarea> . Имеет длину от 500 до 2190 байт.

Пример:

{
    "errorId":0,
    "status":"ready",
    "solution":
    {
        "gRecaptchaResponse":"3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
    }
}