Dans cet article, nous avons essayé de répondre à toutes les questions essentielles. Pour commencer à résoudre le problème, il faut d’abord déterminer quel système de protection est utilisé. Pour cela, vous pouvez consulter la liste des captchas et systèmes de protection antibot les plus populaires, qui présente des exemples visuels et des caractéristiques clés permettant d’identifier rapidement avec quoi vous avez affaire.
Si vous constatez que votre site utilise Yidun (NECaptcha), l’étape suivante consiste à étudier plus en détail ses propriétés et son fonctionnement. Dans cet article, vous pouvez également consulter le guide d’intégration de Yidun (NECaptcha) afin de comprendre pleinement la façon dont il fonctionne sur votre site. Cela vous permettra non seulement de mieux connaître la protection en place, mais aussi de planifier correctement sa maintenance.
Travailler avec CapMonster Cloud via l’API comprend généralement les étapes suivantes :
type - YidunTask
websiteURL - l’URL complète de la page contenant le captcha ;
websiteKey - la valeur du siteKey ;
userAgent - User-Agent du navigateur. Envoyez uniquement un User-Agent récent de 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 () => {
// Configuration
const TARGET_URL = "https://example.com/";
const WEBSITE_KEY = "6cw0f0485d5d46auacf9b735d20218a5"; // votre siteKey Yidun
const CMC_API_KEY = "YOUR_API_KEY"; // votre clé API CapMonster Cloud
// 1) Lancement du navigateur
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) Envoi de la requête de résolution 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; // Réception du jeton Yidun
console.log("Yidun token:", token);
// 3) Insertion du jeton dans un champ caché et envoi du formulaire
await page.evaluate((t) => {
// Recherche du champ caché du jeton (à remplacer par le vôtre)
const input = document.querySelector('input[name="NECaptchaValidate"]');
if (input) input.value = t;
// Envoi du formulaire si présent
const form = document.querySelector("form");
if (form) form.submit();
}, token);
console.log("Captcha Yidun résolu, jeton inséré et formulaire envoyé !");
})();
1. Accédez au panneau et créez un compte (email ou téléphone).
2. Dans le panneau, ouvrez : 产品与服务 → 验证码服务 (Captcha Service).
3. Créez un nouveau projet (应用).
4. Vous recevrez :
5. Exemple d’intégration frontend Yidun
<!-- Chargement du script Yidun -->
<script src="https://cstaticdun.126.net/load.min.js"></script>
<!-- Conteneur du captcha -->
<div id="captcha"></div>
<script>
// Initialisation du captcha
initNECaptcha({
captchaId: "YOUR_CAPTCHA_ID", // votre captchaId du panneau Yidun
element: "#captcha", // où intégrer le widget captcha
// Callback après réussite
onVerify: (err, data) => {
if (!err) {
// data.validate -- token du captcha
// Stockage dans un champ caché
document.querySelector("#validate").value = data.validate;
}
}
});
</script>
<!-- Formulaire envoyant le token validate au serveur -->
<form method="POST" action="/verify">
<!-- Ici le token sera inscrit -->
<input type="hidden" id="validate" name="NECaptchaValidate">
<button>Submit</button>
</form>
6. Validation côté serveur (exemple PHP)
<?php
// Paramètres du panneau Yidun
$CAPTCHA_ID = "YOUR_CAPTCHA_ID";
$SECRET_ID = "YOUR_SECRET_ID";
// Réception du token depuis le frontend
$validate = $_POST["NECaptchaValidate"] ?? null;
// Si aucun token n’est reçu — erreur
if (!$validate) {
echo "Captcha not passed";
exit;
}
// Préparation de la requête POST
$url = "https://c.dun.163yun.com/api/v2/verify";
$postData = http_build_query([
"captchaId" => $CAPTCHA_ID,
"secretId" => $SECRET_ID,
"validate" => $validate
]);
// Envoi de la requête 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);
// Décodage du JSON
$data = json_decode($result, true);
// Vérification du résultat
if ($data["result"] === true) {
echo "Captcha passed successfully";
} else {
echo "Verification error: " . json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
Si vous avez récupéré un site avec un captcha ou un autre système de protection déjà installé, mais sans accès au code, pas de panique ! Il est assez simple d’identifier quelle technologie est utilisée. Pour vérifier que tout fonctionne correctement, vous pouvez utiliser le service de reconnaissance CapMonster Cloud dans un environnement de test isolé, afin de vous assurer que le mécanisme de traitement des jetons et la logique de vérification fonctionnent correctement.
Dans le cas de Yidun (NECaptcha), il suffit d’identifier le système, d’étudier son comportement et de vérifier que la protection fonctionne correctement. Dans cet article, nous avons montré comment reconnaître Yidun (NECaptcha) et où trouver les instructions pour son intégration ou sa reconfiguration, afin de maintenir la protection en toute confiance et de garder son fonctionnement sous contrôle.