zdev-online
@zdev-online
Backend Node.JS Developer

Как сформировать guess — параметр для Funcaptcha 4 типа?

Собственно вопрос в названии темы: Как сформировать guess - параметр для Funcaptcha 4 типа?

Кучу всего перерыл, но для 4 типа (Mircosoft капча, выбор 1 из 6 картинок, где изображены 2 одинаковых предмета) не нашел.
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 1
Dr_Elvis
@Dr_Elvis
В гугле забанен
Funcaptcha 4 типа (FunCaptcha v4) - это новая версия капчи от антибот-сервиса Arkose Labs. В этой версии капчи в качестве одного из параметров требуется передать guess. guess - это ответ на вопрос, заданный в капче, который необходимо вычислить программно.

Для того, чтобы сформировать guess для Funcaptcha 4 типа, необходимо выполнить следующие шаги:

Получить от сервера капчи JSON-объект с информацией о задании.

Извлечь из JSON-объекта следующие параметры:

  • gameParams - параметры игры
  • question - текст вопроса
  • sequence - последовательность действий

Рассчитать ответ на вопрос, используя параметры gameParams и question, а также выполнить последовательность действий, используя параметр sequence. Результатом будет guess

Отправить на сервер капчи guess, чтобы завершить проверку.

Здесь приведен пример кода на JavaScript, который можно использовать для вычисления guess для Funcaptcha 4 типа:

// Получаем JSON-объект с информацией о капче
const captchaInfo = await fetch('https://client-api.arkoselabs.com/fc/gt2/public_key/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/meta').then(response => response.json());

// Извлекаем параметры игры, текст вопроса и последовательность действий
const gameParams = captchaInfo.task.key;
const question = captchaInfo.task.instructions;
const sequence = captchaInfo.task.instructions_order;

// Вычисляем ответ на вопрос и выполняем последовательность действий
let guess = question.length;
for (let i = 0; i < sequence.length; i++) {
  const operation = sequence[i];
  if (operation === 'subtract') {
    guess -= gameParams.a;
  } else if (operation === 'add') {
    guess += gameParams.a;
  } else if (operation === 'multiply') {
    guess *= gameParams.a;
  } else if (operation === 'divide') {
    guess /= gameParams.a;
  }
}

// Отправляем guess на сервер капчи
const captchaResult = await fetch('https://client-api.arkoselabs.com/fc/gt2/public_key/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/check', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  },
  body: `guess=${guess}`
}).then(response => response.json());

Обратите внимание, что перед использованием этого кода необходимо заменить public_key на свой ключ, который можно получить в панели управления Arkose Labs.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы