Pular para o conteúdo principal
Está tendo problemas para obter o token?
Entre em contato com o suporte

Yidun - NECaptcha

Exemplos de tarefas

Atenção!

O CapMonster Cloud, por padrão, funciona com proxies integrados — já incluídos no custo do serviço. É necessário especificar seus próprios proxies apenas nos casos em que o site não aceita o token ou quando o acesso aos serviços integrados está restrito.

Se o proxy utiliza autenticação por IP, é necessário adicionar o endereço 65.21.190.34 à lista de permissões (whitelist).

Parâmetros da requisição

type<string>required

YidunTask


websiteURL<string>required

URL completo da página com o captcha.


websiteKey<string>required

Valor do parâmetro siteKey encontrado na página (veja o exemplo abaixo sobre como encontrá-lo).


userAgent<string>optional

User-Agent do navegador.
Utilize apenas um User-Agent atual do Windows. O recomendado é: userAgentPlaceholder


yidunGetLib<string>optional

Caminho para o arquivo JavaScript que carrega o captcha na página.
Importante: forneça a URL completa (https://...).
Recomendado quando os campos challenge, hcg ou hct estiverem presentes no site.


yidunApiServerSubdomain<string>optional

Subdomínio do servidor API do Yidun.
Importante: deve ser diferente dos padrões c.dun.163.com e c-v6.dun.163.com.
Pode ser informado com ou sem https://.
Necessário quando um servidor personalizado é usado (comum nas versões Enterprise).


challenge<string>optional

Identificador único do captcha atual.
Geralmente enviado nas requisições de rede ao inicializar ou exibir o captcha.
Indica o uso de captcha Enterprise.


hcg<string>optional

Hash do captcha utilizado na requisição.
Pode ser obtido junto com o challenge.


hct<integer>optional

Identificador de tempo numérico usado na validação de captchas Enterprise.


proxyType<string>optional

http - proxy padrão http/https;
https - tente essa opção se "http" não funcionar (necessário para alguns proxies personalizados);
socks4 - proxy socks4;
socks5 - proxy socks5.


proxyAddress<string>optional

Endereço IP do proxy IPv4/IPv6. Não é permitido:

  • uso de proxies transparentes (aqueles que revelam o IP do cliente);
  • uso de proxies locais.


proxyPort<integer>optional

Porta do proxy.


proxyLogin<string>optional

Login do proxy.


proxyPassword<string>optional

Senha do proxy.


Método de criação da tarefa

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

Requisição

{
"clientKey": "API_KEY",
"task":
{
"type": "YidunTask",
"websiteURL": "https://www.example.com",
"websiteKey": "6cw0f0485d5d46auacf9b735d20218a5",
"userAgent": "userAgentPlaceholder"
}
}

Resposta

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

Método de obter resultado da tarefa

Use o método getTaskResult para obter a solução do captcha Yidun.

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

Requisição

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

Resposta

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

Quando usar yidunGetLib e yidunApiServerSubdomain?

Se na aba Network dos desenvolvedores você encontrar os parâmetros challenge, hcg, hct, então a versão Enterprise (ou Business) do Yidun está em uso, e você deve fornecer também yidunGetLib e yidunApiServerSubdomain para resolução correta.

Exemplo de tarefa
{
"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
}

Como encontrar websiteURL e websiteKey

Abra as Ferramentas do desenvolvedor, ative o captcha, vá até a aba Network e localize uma requisição que comece com get?referer= ou check?referer=. O valor de referer é o websiteURL.

Às vezes o referer está codificado, por exemplo: https%3A%2F%2Fid.example.com%2F. Para obter o endereço legível, decodifique com o console do navegador:

O valor de id é o websiteKey.


Para Yidun Enterprise:

Os parâmetros websiteURL, websiteKey e yidunApiServerSubdomain podem ser encontrados da mesma forma que no captcha Yidun comum, em requisições que comecem com get?referer= ou check?referer=


yidunGetLib

Caminho para o arquivo JavaScript responsável por carregar o captcha. Normalmente pode ser encontrado nas requisições de rede, com nomes como load.min.js.


challenge, hcg, hct

Todos esses parâmetros podem ser encontrados nas requisições de rede. A requisição relevante normalmente começa com cscPreprocess?reflushCode=.

Usar biblioteca SDK

Mostrar Código (para navegador)
// https://github.com/ZennoLab/capmonstercloud-client-js

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

const API_KEY = "YOUR_API_KEY"; // Insira sua chave de API do CapMonster Cloud

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

// Exemplo básico sem proxy
// O CapMonster Cloud usa automaticamente seus próprios proxies
let yidunRequest = new YidunRequest({
websiteURL: "https://www.example.com", // URL da página com a captcha
websiteKey: "6cw0f0485d5d46auacf9b735d20218a5",
userAgent: "userAgentPlaceholder"
});

// Exemplo de uso do seu próprio proxy
// Descomente este bloco se quiser usar um proxy personalizado
/*
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
});
*/

// Se necessário, você pode verificar o saldo
const balance = await client.getBalance();
console.log("Balance:", balance);

const result = await client.Solve(yidunRequest);
console.log("Solution:", result);
});
Mostrar Código (Node.js)
// https://github.com/ZennoLab/capmonstercloud-client-js

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

const API_KEY = "YOUR_API_KEY"; // Insira sua chave de API do CapMonster Cloud

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

// Exemplo básico sem proxy
// O CapMonster Cloud usa automaticamente seus próprios proxies
let yidunRequest = new YidunRequest({
websiteURL: "https://www.example.com", // URL da página com a captcha
websiteKey: "6cw0f0485d5d46auacf9b735d20218a5",
userAgent: "userAgentPlaceholder"
});

// Exemplo de uso do seu próprio proxy
// Descomente este bloco se quiser usar um proxy personalizado

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

yidunRequest = new YidunRequest({
websiteURL: "https://www.example.com", // URL da página com a captcha
websiteKey: "6cw0f0485d5d46auacf9b735d20218a5",
userAgent: "userAgentPlaceholder",
proxy
});
*/

// Se necessário, você pode verificar o saldo
const balance = await client.getBalance();
console.log("Balance:", balance);

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

solveYidun().catch(err => console.error("Erro:", err));