Перейти к основному содержимому
Возникают проблемы с получением токена?
Свяжитесь с поддержкой

GeeTestTask

GeeTestTask
/ 1000 токенов
98%

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

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

Внимание!

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

к сведению
  • Параметры gt, challenge и geetestApiServerSubdomain чаще всего находятся внутри JavaScript функции initGeetest.
  • Также, эти параметры можно получить из HTML кода страницы. Их можно найти в блоке <sсript>, который появляется после полной загрузки страницы в браузере.

V3

V4 (captcha_id = gt)


GeeTest V3

Примеры заданий

Параметры запроса

type<string>required

GeeTestTaskProxyless


websiteURL<string>required

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


gt<string>required

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


challenge<string>required only for V3

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


version<integer>required only for V4

3


geetestApiServerSubdomain<string>optional

Поддомен сервера Geetest API (должен отличаться от api.geetest.com).
Необязательный параметр. Может потребоваться для некоторых сайтов.


geetestGetLib<string>optional

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


userAgent<string>optional

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

Метод создания задачи

POST
https://api.capmonster.cloud/createTask

Запрос

{
"clientKey":"YOUR_CAPMONSTER_CLOUD_API_KEY",
"task":
{
"type":"GeeTestTaskProxyless",
"websiteURL":"https://www.geetest.com/en/demo",
"gt":"022397c99c9f646f6477822485f30404",
"challenge":"7f044f48bc951ecfbfc03842b5e1fe59"

}
}

Ответ

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

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

Метод получения результата задачи

POST
https://api.capmonster.cloud/getTaskResult

Запрос

{
"clientKey":"API_KEY",
"taskId": 407533072
}

Ответ

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

СвойствоТипОписание
challengeStringВсе три параметра необходимы при отправке формы на целевом сайте.
validateString
seccodeString

Используйте библиотеку SDK

// https://github.com/ZennoLab/capmonstercloud-client-js

import { CapMonsterCloudClientFactory, ClientOptions, GeeTestProxylessRequest, /*GeeTestRequest*/ } from '@zennolab_com/capmonstercloud-client';

document.addEventListener('DOMContentLoaded', async () => {
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: '<your capmonster.cloud API key>' }));
console.log(await cmcClient.getBalance());

const geetestV3Request = new GeeTestProxylessRequest({
websiteURL: 'https://example.com/geetest.php',
gt: '81dc9bdb52d04dc20036dbd8313ed055',
challenge: 'd93591bdf7860e1e4ee2fca799911215',
});

// const geetestV3Request = new GeeTestRequest({
// websiteURL: 'https://example.com/geetest.php',
// gt: '81dc9bdb52d04dc20036dbd8313ed055',
// challenge: 'd93591bdf7860e1e4ee2fca799911215',
// userAgent: 'userAgentPlaceholder',
// proxyType: 'https',
// proxyAddress: 'https://proxy.com',
// proxyPort: 6045,
// proxyLogin: 'login',
// proxyPassword: 'password',
// });

console.log(await cmcClient.Solve(geetestV3Request));
});

GeeTest V4

Пример задания

Параметры запроса

type<string>required

GeeTestTaskProxyless


websiteURL<string>required

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


gt<string>required

Ключ-идентификатор GeeTest для домена - параметр captcha_id.


version<integer>required only for V4

4


geetestApiServerSubdomain<string>optional

Поддомен сервера Geetest API (должен отличаться от api.geetest.com).
Необязательный параметр. Может потребоваться для некоторых сайтов.


geetestGetLib<string>optional

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


initParameters<object>optional

Дополнительные параметры для 4 версии, используются вместе с “riskType” (тип капчи/характеристики ее проверки).


userAgent<string>optional

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

Метод создания задачи

POST
https://api.capmonster.cloud/createTask

Запрос

{
"clientKey":"YOUR_CAPMONSTER_CLOUD_API_KEY",
"task":
{
"type":"GeeTestTaskProxyless",
"websiteURL":"https://gt4.geetest.com/",
"gt":"54088bb07d2df3c46b79f80300b0abbe",
"version": 4,
"initParameters": {
"riskType": "slide"

}
}
}

Ответ

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

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

Метод получения результата задачи

POST
https://api.capmonster.cloud/getTaskResult

Запрос

{
"clientKey":"API_KEY",
"taskId": 407533072
}

Ответ

{
"errorId":0,
"status":"ready",
"solution": {
"captcha_id":"f5c2ad5a8a3cf37192d8b9c039950f79",
"lot_number":"bcb2c6ce2f8e4e9da74f2c1fa63bd713",
"pass_token":"edc7a17716535a5ae624ef4707cb6e7e478dc557608b068d202682c8297695cf",
"gen_time":"1683794919",
"captcha_output":"XwmTZEJCJEnRIJBlvtEAZ662T...[cut]...SQ3fX-MyoYOVDMDXWSRQig56"
}
}

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

Используйте библиотеку SDK

// https://github.com/ZennoLab/capmonstercloud-client-js

import { CapMonsterCloudClientFactory, ClientOptions, GeeTestProxylessRequest, /*GeeTestRequest*/ } from '@zennolab_com/capmonstercloud-client';

document.addEventListener('DOMContentLoaded', async () => {
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: '<your capmonster.cloud API key>' }));
console.log(await cmcClient.getBalance());

const geetestV4Request = new GeeTestProxylessRequest({
websiteURL: 'https://example.com/geetest.php',
gt: '81dc9bdb52d04dc20036dbd8313ed055',
challenge: 'd93591bdf7860e1e4ee2fca799911215',
version: '4',
initParameters: {
riskType: 'slide',
},
});

// const geetestV4Request = new GeeTestRequest({
// websiteURL: 'https://example.com/geetest.php',
// gt: '81dc9bdb52d04dc20036dbd8313ed055',
// challenge: 'd93591bdf7860e1e4ee2fca799911215',
// version: '4',
// initParameters: {
// riskType: 'slide',
// },
// userAgent: 'userAgentPlaceholder',
// proxyType: 'https',
// proxyAddress: 'https://proxy.com',
// proxyPort: 6045,
// proxyLogin: 'login',
// proxyPassword: 'p@ssword',
// })

console.log(await cmcClient.Solve(geetestV4Request));
});