Neste artigo procurámos responder a todas as questões importantes. Para começar a resolver o problema, o primeiro passo é identificar que sistema de proteção está a ser utilizado. Para isso, pode consultar a lista de captchas e sistemas de proteção antibot mais populares, onde encontrará exemplos visuais e sinais principais que ajudam a perceber rapidamente com o que está a lidar.
Se verificar que o seu site utiliza Yidun (NECaptcha), o passo seguinte é analisar mais detalhadamente as suas características e o seu funcionamento. Neste mesmo artigo também pode consultar o guia de integração de Yidun (NECaptcha), para compreender totalmente como o sistema funciona no seu site. Isto permitirá não só entender a proteção atual, como também planear corretamente a sua manutenção.
Trabalhar com o CapMonster Cloud através da API normalmente envolve os passos seguintes:
type - YidunTask
websiteURL - URL completa da sua página com captcha;
websiteKey - valor do parâmetro siteKey;
userAgent - User-Agent do navegador. Envie apenas um UA atual do Windows.
https://api.capmonster.cloud/createTask
{
"clientKey": "API_KEY",
"task": {
"type": "YidunTask",
"websiteURL": "https://www.example.com",
"websiteKey": "6cw0f0485d5d46auacf9b735d20218a5",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
}
}
{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId": 0,
"errorCode": null,
"errorDescription": null,
"solution": {
"token": "CN31_9AwsPmaYcJameP_09rA0vkVMQsPij...RXTlFJFc3"
},
"status": "ready"
}
// npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium
import { chromium } from "playwright";
import { CapMonsterCloudClientFactory, ClientOptions, YidunRequest } from "@zennolab_com/capmonstercloud-client";
(async () => {
// Configurações
const TARGET_URL = "https://example.com/";
const WEBSITE_KEY = "6cw0f0485d5d46auacf9b735d20218a5"; // seu siteKey do Yidun
const CMC_API_KEY = "YOUR_API_KEY"; // sua chave API do CapMonster Cloud
// 1) Iniciando o navegador
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
await page.goto(TARGET_URL, { waitUntil: "domcontentloaded" });
const cmc = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: CMC_API_KEY })
);
// 2) Enviando requisição para resolver captcha Yidun
const solution = await cmc.Solve(
new YidunRequest({
websiteURL: TARGET_URL,
websiteKey: WEBSITE_KEY,
userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"
})
);
const token = solution.solution.token; // Obtendo token Yidun
console.log("Yidun token:", token);
// 3) Inserindo token em campo oculto e enviando formulário
await page.evaluate((t) => {
// Localize o input hidden para o token (substitua pelo seu valor)
const input = document.querySelector('input[name="NECaptchaValidate"]');
if (input) input.value = t;
// Enviar o formulário, se houver na página
const form = document.querySelector("form");
if (form) form.submit();
}, token);
console.log("Captcha Yidun resolvido, token inserido e formulário enviado!");
})();
1. Acesse painel e crie uma conta (telefone ou email).
2. No painel, selecione: 产品与服务 → 验证码服务 (Captcha Service).
3. Crie um novo projeto (应用).
4. Como resultado, você obterá:
5. Exemplo de conexão frontend Yidun
<!-- Conectar script YiDun -->
<script src="https://cstaticdun.126.net/load.min.js"></script>
<!-- Container para captcha -->
<div id="captcha"></div>
<script>
// Inicialização do captcha
initNECaptcha({
captchaId: "YOUR_CAPTCHA_ID", // seu captchaId do painel YiDun
element: "#captcha", // onde inserir o widget captcha
// Chamado após sucesso
onVerify: (err, data) => {
if (!err) {
// data.validate -- token do captcha
// Salvar em campo oculto do formulário
document.querySelector("#validate").value = data.validate;
}
}
});
</script>
<!-- Formulário que envia validate para seu servidor -->
<form method="POST" action="/verify">
<!-- Aqui o captcha registrará o token -->
<input type="hidden" id="validate" name="NECaptchaValidate">
<button>Submit</button>
</form>
6. Validação server-side Yidun (exemplo em PHP)
<?php
// Dados do painel YiDun
$CAPTCHA_ID = "YOUR_CAPTCHA_ID";
$SECRET_ID = "YOUR_SECRET_ID";
// Obtemos o token do frontend
$validate = $_POST["NECaptchaValidate"] ?? null;
// Se não houver token — erro
if (!$validate) {
echo "Captcha not passed";
exit;
}
// Preparar requisição POST
$url = "https://c.dun.163yun.com/api/v2/verify";
$postData = http_build_query([
"captchaId" => $CAPTCHA_ID,
"secretId" => $SECRET_ID,
"validate" => $validate
]);
// Enviar requisição para YiDun
$opts = [
"http" => [
"method" => "POST",
"header" => "Content-Type: application/x-www-form-urlencoded",
"content" => $postData
]
];
$context = stream_context_create($opts);
$result = file_get_contents($url, false, $context);
// Decodificar JSON
$data = json_decode($result, true);
// Verificar resultado
if ($data["result"] === true) {
echo "Captcha passed successfully";
} else {
echo "Verification error: " . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
Se herdou um site que já tem um captcha ou outro sistema de proteção instalado e não tem acesso ao código, não há problema! É bastante fácil identificar qual a tecnologia que está a ser utilizada. Para verificar se tudo está a funcionar corretamente, pode usar o serviço de reconhecimento CapMonster Cloud num ambiente de teste isolado, para garantir que o mecanismo de processamento de tokens e a lógica de verificação estão a funcionar corretamente.
No caso de Yidun (NECaptcha), basta identificar o sistema, analisar o seu comportamento e confirmar que a proteção está a funcionar corretamente. No artigo, mostramos como identificar Yidun (NECaptcha) e onde encontrar instruções para a sua integração ou reconfiguração, para que possa manter a proteção com confiança e controlar o seu funcionamento.