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

MTCaptcha

Внимание!

CapMonster Cloud по умолчанию работает через встроенные прокси — они уже включены в стоимость. Указывать собственные прокси требуется только в тех случаях, когда сайт не принимает токен или доступ к встроенным сервисам ограничен.

Если прокси с авторизацией по IP, то необходимо добавить адрес 65.21.190.34 в белый список.

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

type<string>required

MTCaptchaTask


websiteURL<string>required

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


websiteKey<string>required

Ключ MTcaptcha, передаётся в запросе в параметрах, как sk (см. пример ниже, как его найти).


pageAction<string>optional

Параметр action передаётся в запросе как act и отображается при валидации токена. Указывайте его в запросе, только если значение отличается от стандартного - %24.
Пример в html:

<script>
var mtcaptchaConfig = {
"sitekey": "MTPublic-abCDEFJAB",
"action": "login"
};
</script>

isInvisible<bool>optional

true, если капча невидимая, т.е. имеет скрытое поле для подтверждения. При подозрении на бота вызывается дополнительная проверка.


userAgent<string>optional

User-Agent браузера.
Передавайте только актуальный UA от ОС Windows. Сейчас таковым является: userAgentPlaceholder


proxyType<string>optional

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


proxyAddress<string>optional

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

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


proxyPort<integer>optional

Порт прокси.


proxyLogin<string>optional

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


proxyPassword<string>optional

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

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

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

Запрос

{
"clientKey": "API_KEY",
"task":
{
"type": "MTCaptchaTask",
"websiteURL": "https://www.example.com",
"websiteKey": "MTPublic-abCDEFJAB",
"isInvisible": false,
"pageAction": "login"
}
}

Ответ

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

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

Используйте метод getTaskResult, чтобы получить решение MTCaptcha капчи.

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

Запрос

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

Ответ

{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"token": "v1(155506dc,c8c2e356,MTPublic-abCDEFJAB,70f03532a53...5FSDA**)"
},
"status": "ready"
}

Как найти параметры капчи

websiteKey

Этот параметр можно найти во вкладке Network в Инструментах разработчика.
Ищите запросы, начинающиеся, например, с getchallenge.json — параметр sk соответствует websiteKey.

pageAction

В этом же запросе содержится параметр pageAction: нужное значение передаётся как act.
По умолчанию оно равно %24; если значение отличается (например, ..&act=login&...), укажите его при создании задачи.

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

Показать код (для браузера)
// https://github.com/ZennoLab/capmonstercloud-client-js

import { CapMonsterCloudClientFactory, ClientOptions, MTCaptchaRequest } from '@zennolab_com/capmonstercloud-client';

const API_KEY = "YOUR_API_KEY"; // Укажите ваш API-ключ CapMonster Cloud

document.addEventListener("DOMContentLoaded", async () => {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);

// Базовый пример без прокси
// CapMonster Cloud автоматически использует свои прокси
let mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://www.example.com", // URL страницы с MTCaptcha
websiteKey: "MTPublic-abCDEFJAB",
isInvisible: false, // true -- если используется Invisible MTCaptcha
pageAction: "login"
});

// Пример использования вашего собственного прокси
// Раскомментируйте данный блок, если вы хотите использовать собственный прокси
/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password"
};

mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://www.example.com",
websiteKey: "MTPublic-abCDEFJAB",
isInvisible: false,
pageAction: "login",
proxy,
userAgent: "userAgentPlaceholder"
});
*/

// При необходимости можно проверить баланс
const balance = await client.getBalance();
console.log("Balance:", balance);

const result = await client.Solve(mtcaptchaRequest);
console.log("Solution:", result);
});
Показать код (Node.js)
// https://github.com/ZennoLab/capmonstercloud-client-js

import { CapMonsterCloudClientFactory, ClientOptions, MTCaptchaRequest } from '@zennolab_com/capmonstercloud-client';

const API_KEY = "YOUR_API_KEY"; // Укажите ваш API-ключ CapMonster Cloud

async function solveMTCaptcha() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);

// Базовый пример без прокси
// CapMonster Cloud автоматически использует свои прокси
let mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://www.example.com", // URL страницы с MTCaptcha
websiteKey: "MTPublic-abCDEFJAB",
isInvisible: false, // true -- если используется Invisible MTCaptcha
pageAction: "login"
});

// Пример использования вашего собственного прокси
// Раскомментируйте данный блок, если вы хотите использовать собственный прокси

/*
const proxy = {
proxyType: "http",
proxyAddress: "123.45.67.89",
proxyPort: 8080,
proxyLogin: "username",
proxyPassword: "password"
};

mtcaptchaRequest = new MTCaptchaRequest({
websiteURL: "https://www.example.com",
websiteKey: "MTPublic-abCDEFJAB",
isInvisible: false,
pageAction: "login",
proxy,
userAgent: "userAgentPlaceholder"
});
*/

// При необходимости можно проверить баланс
const balance = await client.getBalance();
console.log("Balance:", balance);

const result = await client.Solve(mtcaptchaRequest);
console.log("Solution:", result);
}

solveMTCaptcha().catch(console.error);