GeeTestTask: решение каптчи GeeTest

Этот тип задач используется для решения каптчи GeeTest с использованием Ваших прокси.
Ваше приложение должно прислать адрес сайта, публичный ключ домена (gt), ключ (challenge) и прокси.

Результатом решения задачи является три токена для сабмита формы.

Внимание!
Прокси с авторизацией по IP пока не поддерживаются.

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

  • Параметры gt, challenge и geetestApiServerSubdomain чаще всего находятся внутри JavaScript функции initGeetest.

  • Также, эти параметры можно получить из HTML кода страницы. Их можно найти в блоке <sсript>, который появляется после полной загрузки страницы в браузере.
    V3

    V4 (captcha_id = gt)

 

 

Параметр

Тип

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

Значение

type

String

да

GeeTestTask

websiteURL

String

да

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

gt

String

да

Ключ-идентификатор GeeTest для домена. Статическое значение, редко обновляется.
Если v4 то это параметр clientId

challenge

String

да, только для V3

Меняющийся ключ.
При каждом обращении к нашему API нужно получать новое значение ключа. Если каптча загружена на странице, то значение challenge уже недействительно и Вы получите в ответ ошибку ERROR_TOKEN_EXPIRED.

За задачи с ошибкой ERROR_TOKEN_EXPIRED плата взимается как за успешно решённые задачи.

Нужно изучить запросы и найти тот, в котором возвращается это значение и перед каждым созданием задачи на распознавания выполнять этот запрос и парсить challenge из него.

geetestApiServerSubdomain

String

нет

Необязательный параметр.
Может потребоваться для некоторых сайтов.

geetestGetLib

String

нет

Необязательный параметр. Может потребоваться для некоторых сайтов.
Отправляйте JSON в виде строки.

version

Integer

нет

Номер версии (по умолчанию равен 3). Возможные значения: 3, 4.

initParameters

Object

нет

Дополнительные параметры для 4 версии.

proxyType

String

да

http - обычный http/https прокси
https - попробуйте эту опцию только если "http" не работает (требуется для некоторых кастомных прокси)
socks4 - socks4 прокси
socks5 - socks5 прокси

proxyAddress

String

да

IP адрес прокси IPv4/IPv6. Не допускается:

  • использование имен хостов

  • использование прозрачных прокси (там где можно видеть IP клиента)

  • использование прокси на локальных машинах

proxyPort

Integer

да

Порт прокси

proxyLogin

String

нет

Логин прокси-сервера

proxyPassword

String

нет

Пароль прокси-сервера

userAgent

String

нет

User-Agent браузера, используемый для решения каптчи.

GeeTest V3

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

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

{ "clientKey":"YOUR_CAPMONSTER_CLOUD_API_KEY", "task": { "type":"GeeTestTask", "websiteURL":"https://example.com/geetest.php", "gt":"81dc9bdb52d04dc20036dbd8313ed055", "challenge":"d93591bdf7860e1e4ee2fca799911215", "proxyType":"http", "proxyAddress":"8.8.8.8", "proxyPort":8080, "proxyLogin":"proxyLoginHere", "proxyPassword":"proxyPasswordHere", "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36" } }

 

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

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

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

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

Свойство

Тип

Описание

challenge

Строка

Все три параметра необходимы при отправке формы на целевом сайте.

validate

Строка

seccode

Строка

Пример:

 

{ "errorId":0, "status":"ready", "solution": { "challenge":"0f759dd1ea6c4wc76cedc2991039ca4f23", "validate":"6275e26419211d1f526e674d97110e15", "seccode":"510cd9735583edcb158601067195a5eb|jordan" } }

GeeTest V4

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

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

 

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

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

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

Свойство

Тип

Описание

captcha_id

Строка

Все пять параметров необходимы при отправке формы на целевом сайте.
input[name=captcha_id]
input[name=lot_number]
input[name=pass_token]
input[name=gen_time]
input[name=captcha_output]

lot_number

Строка

pass_token

Строка

gen_time

Строка

captcha_output

Строка

Пример: