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

Yidun - NECaptcha

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

Внимание!

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

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

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

type<string>required

YidunTask


websiteURL<string>required

Полный URL страницы с капчей.


websiteKey<string>required

Значение параметра siteKey, найденное на странице (см. пример ниже, как его найти).


userAgent<string>optional

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


yidunGetLib<string>optional

Путь к JavaScript-файлу, загружающему капчу на странице.
Важно: указывайте полную ссылку (https://...).
Рекомендуется использовать, если на сайте присутствуют поля challenge, hcg, hct.


yidunApiServerSubdomain<string>optional

Поддомен Yidun API сервера.
Важно: должен отличаться от стандартных c.dun.163.com и c-v6.dun.163.com.
Допустимо указывать как с https://, так и без.
Обязателен, если используется кастомный сервер (часто бывает в Enterprise-версиях).


challenge<string>optional

Уникальный идентификатор текущей капчи.
Обычно передаётся в сетевых запросах при инициализации или отображении капчи.
Признак Enterprise-капчи.


hcg<string>optional

Хеш капчи, используется при формировании запроса.
Можно получить вместе с challenge.


hct<integer>optional

Числовой временной идентификатор/штамп, используемый при валидации Enterprise-версии.


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": "YidunTask",
"websiteURL": "https://www.example.com",
"websiteKey": "6cw0f0485d5d46auacf9b735d20218a5",
"userAgent": "userAgentPlaceholder"
}
}

Ответ

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

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

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

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

Запрос

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

Ответ

{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"token": "CN31_9AwsPmaYcJameP_09rA0vkVMQsPij...RXTlFJFc3"
},
"status": "ready"
}

Когда нужны yidunGetLib и yidunApiServerSubdomain?

Если на странице в сетевых запросах (Network) вы находите параметры challenge, hcg, hct - значит, используется Enterprise (или Business) версия Yidun, и следует дополнительно передать yidunGetLib и yidunApiServerSubdomain для корректного решения.

Пример задачи
{
"type": "YidunTask",
"websiteURL": "https://id7.cloud.example.com/IframeLogin.html",
"websiteKey": "0f123r2a6am56431yg17n8rz6grz0ym6",
"userAgent": "userAgentPlaceholder",
"yidunGetLib": "https://example.com/captcha/b/v3//static/load.min.js",
"yidunApiServerSubdomain": "csc-captcha-example.com",
"challenge": "abc55382321547556267884cc3ba57c3d8a7c14f541fd9c6a7f1ce3173d3b9a1",
"hcg": "9a217825f3dcfac3d34e551e93819d610dec931e5e2a2236edf0e1f3f320c191",
"hct": 1751469954806
}

Как найти websiteURL и websiteKey

Откройте Инструменты разработчика, активируйте капчу, перейдите во вкладку Network и среди запросов найдите тот, который начинается на get?referer= или check?referer=. Значение referer - это websiteURL.

Иногда в URL referer закодирован, например: https%3A%2F%2Fid.example.com%2F. Чтобы получить читаемый адрес, его нужно декодировать, например, с помощью консоли в браузере:

Значение id - это websiteKey.


Для Yidun Enterprise:

websiteURL, websiteKey и yidunApiServerSubdomain можно найти аналогично обычной Yidun капче в запросах, начинающихся на get?referer= или check?referer=


yidunGetLib

Путь к JavaScript-файлу, который отвечает за загрузку капчи на странице, обычно можно найти в сетевых запросах. Чаще всего он имеет имя вроде load.min.js.


challenge, hcg, hct

Все эти параметры можно найти в сетевых запросах. Обычно соответствующий запрос начинается с cscPreprocess?reflushCode=.

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

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

import { CapMonsterCloudClientFactory, ClientOptions, YidunRequest } 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 yidunRequest = new YidunRequest({
websiteURL: "https://www.example.com", // URL страницы с капчей
websiteKey: "6cw0f0485d5d46auacf9b735d20218a5",
userAgent: "userAgentPlaceholder"
});

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

yidunRequest = new YidunRequest({
websiteURL: "https://www.example.com",
websiteKey: "6cw0f0485d5d46auacf9b735d20218a5",
userAgent: "userAgentPlaceholder",
proxy
});
*/

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

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

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

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

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

// Базовый пример без прокси
// CapMonster Cloud автоматически использует свои прокси
let yidunRequest = new YidunRequest({
websiteURL: "https://www.example.com", // URL страницы с капчей
websiteKey: "6cw0f0485d5d46auacf9b735d20218a5",
userAgent: "userAgentPlaceholder"
});

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

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

yidunRequest = new YidunRequest({
websiteURL: "https://www.example.com", // URL страницы с капчей
websiteKey: "6cw0f0485d5d46auacf9b735d20218a5",
userAgent: "userAgentPlaceholder",
proxy
});
*/

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

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

solveYidun().catch(err => console.error("Ошибка:", err));