Tarifs de la solution CAPTCHA texte (ImageToText)
| CAPTCHA | Prix (USD) |
|---|---|
$ 0.30 1000 jetons |
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 CAPTCHA texte (ImageToText), 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 CAPTCHA texte (ImageToText) 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.
Comment résoudre un CAPTCHA ImageToText avec CapMonster Cloud
- Ouvrez la page contenant le formulaire et assurez-vous que le captcha s’affiche.
- Essayez d’envoyer le formulaire sans résoudre le captcha — le serveur doit renvoyer une erreur.
- Après une résolution réussie du captcha, le formulaire doit être envoyé sans erreur.
Travailler avec CapMonster Cloud via l’API comprend généralement les étapes suivantes :
type - ImageToTextTask
body - le contenu du fichier du captcha encodé en base64. Assurez-vous que la valeur est envoyée sur une seule ligne, sans retours à la ligne ;
capMonsterModule (optionnel) - nom du module, par exemple « yandex ». Une autre méthode pour transmettre le nom du module ainsi qu’une liste de tous les modules disponibles est disponible ici ;
Vous pouvez également définir d’autres paramètres optionnels :
recognizingThreshold - seuil de reconnaissance du captcha avec une valeur possible de 0 à 100 ;
case - prise en compte ou non de la casse lors de la résolution. Valeurs possibles : true, false ;
numeric - 1 — si le captcha ne contient que des chiffres. Valeurs possibles : 0, 1 ;
math - false — non défini par défaut ;
true — le captcha nécessite l’exécution d’une opération mathématique (par exemple, le captcha 2 + 6 renverra la valeur 8).
Important : pour le module captcha_math, n’utilisez pas le paramètre math: true.
https://api.capmonster.cloud/createTask{
"clientKey":"API_KEY",
"task": {
"type":"ImageToTextTask",
"body":"BASE64_BODY_HERE!"
}
}
{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId":0,
"status":"ready",
"solution": {
"text":"answer"
}
}
// npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium
import { CapMonsterCloudClientFactory, ClientOptions, ImageToTextRequest, CapMonsterModules } from '@zennolab_com/capmonstercloud-client';
import { chromium } from 'playwright';
const API_KEY = "YOUR_API_KEY"; // Indiquez votre clé API CapMonster Cloud
async function solveImageToTextAndFillField() {
const cmcClient = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Vous pouvez également vérifier votre solde
const balance = await cmcClient.getBalance();
console.log("Balance:", balance);
// 1. Lancer Playwright et ouvrir la page contenant le formulaire
const browser = await chromium.launch({ headless: false });
const context = await browser.newContext();
const page = await context.newPage();
await page.goto("https://example.com/form"); // 2. Récupérer l’URL du captcha depuis la page (exemple via le sélecteur <img>)
// 2. Récupérer l’URL du captcha depuis la page (exemple via le sélecteur <img>)
const captchaUrl = await page.getAttribute("#captcha-img", "src");
// 3. Télécharger l’image et la convertir en Base64
const response = await fetch(captchaUrl);
const imageBuffer = await response.arrayBuffer();
const imageBase64 = Buffer.from(imageBuffer).toString('base64');
// 4. Créer une requête pour résoudre ImageToText
const imageToTextRequest = new ImageToTextRequest({
body: imageBase64,
CapMonsterModule: CapMonsterModules.YandexWave, // ou un autre module
Case: true,
numeric: 0,
recognizingThreshold: 65,
math: false
});
// 5. Obtenir la solution du captcha
const result = await cmcClient.Solve(imageToTextRequest);
console.log("Captcha solution:", result.solution.text);
// 6. Insérer la solution dans le champ du formulaire et envoyer
await page.fill("#captcha-input", result.solution.text); // Remplacez par votre sélecteur
await page.click("#submit-button"); // Remplacez par le sélecteur de votre bouton
await page.waitForLoadState("networkidle");
console.log("Formulaire envoyé avec la solution du captcha");
// 7. Fermer le navigateur
await browser.close();
}
solveImageToTextAndFillField().catch(console.error);
Étape 1. Choisir l’approche
Vous devez d’abord décider comment vous allez utiliser le captcha :
Option 1 — Fournisseur tiers
Adapté si une mise en œuvre rapide et une maintenance minimale sont importantes.
Avantages :
- Intégration rapide
- Protection contre les bots prête à l’emploi
- Pas besoin de mettre à jour les algorithmes soi-même
Inconvénients :
- Dépendance à un service externe
- Personnalisation limitée
Option 2 — CAPTCHA textuel personnalisé
Adapté si vous avez besoin d’un contrôle total et d’une intégration sur mesure.
Avantages :
- Contrôle total de la logique et du design
- Aucune dépendance externe
- Adaptable à des scénarios spécifiques
Inconvénients :
- La protection contre les bots doit être implémentée par vos soins
- Nécessite une maintenance et des améliorations dans le temps
Étape 2. Implémenter la génération du captcha
Pour un fournisseur
- Inscrivez-vous au service
- Obtenez les clés (site key / secret key)
- Intégrez le script sur la page contenant le formulaire
Pour un captcha personnalisé
- Générez une chaîne aléatoire (chiffres ou lettres)
- Affichez-la sur une image (Canvas, SVG ou génération côté serveur)
- Ajoutez des distorsions : bruit, lignes, rotation des caractères
Étape 3. Afficher le captcha à l’utilisateur
- Placez l’image du captcha à côté du formulaire
- Ajoutez un champ de saisie de texte
- Implémentez un bouton de rafraîchissement du captcha
Important : chaque chargement doit générer un nouveau code.
Étape 4. Transmettre les données au serveur
Lors de l’envoi du formulaire, transmettez :
- Le texte saisi par l’utilisateur
- L’identifiant du captcha ou le jeton de session
Pour un captcha personnalisé, le code ne doit pas être stocké côté client — uniquement côté serveur.
Étape 5. Vérifier le captcha côté serveur
Fournisseur
- Envoyez le jeton du captcha au serveur du fournisseur
- Recevez le résultat de la vérification (succès / erreur)
Captcha personnalisé
- Comparez le texte saisi avec la valeur stockée
- Tenez compte de la durée de validité du captcha (par exemple, 1 à 2 minutes)
Étape 6. Prendre une décision
- Si le captcha est validé — effectuez l’action (connexion, inscription, envoi du formulaire)
- Sinon — affichez une erreur et générez un nouveau captcha
Étape 7. Renforcer la protection (recommandé)
Même pour un captcha textuel, il est recommandé d’ajouter :
- Une limitation du nombre de tentatives
- Une liaison à l’IP, à la session ou aux cookies
- Des jetons temporaires (à usage unique)
- La journalisation des activités suspectes
Assurez-vous que :
- Le captcha n’est pas régénéré avant la vérification ;
- Le code est stocké séparément pour chaque session ou jeton ;
- Le captcha n’a pas expiré.
Captchas pris en charge
Si vous héritez d’un site avec un captcha ou un autre système de protection déjà installé et que vous n’avez pas accès au code — aucun problème ! Il est assez facile de déterminer quelle technologie est utilisée. Pour vérifier le bon fonctionnement, vous pouvez utiliser le service de reconnaissance CapMonster Cloud dans un environnement de test isolé afin de vous assurer que la logique de traitement des jetons et de validation fonctionne correctement.
Dans le cas d’un captcha basé sur des images, il suffit d’identifier le système, d’étudier son comportement et de s’assurer que la protection fonctionne correctement. Dans cet article, nous avons montré comment identifier un captcha d’image (ComplexImage) et comment le connecter ou le reconfigurer afin de maintenir et de contrôler la protection en toute confiance.