Tutorials

Auto-Open et Auto-Submit BLS dans l'extension CaptchaAI

Périmètre sûr : ce guide s'applique uniquement à vos propres applications, à vos environnements de QA, de préproduction ou de production, ou à des démarches pour lesquelles vous disposez d'une autorisation écrite. Il ne couvre ni l'automatisation de portails tiers, ni la neutralisation de protections anti-bot.

L'extension CaptchaAI regroupe deux automatismes que vous répétez à chaque passage BLS : Auto-Open ouvre le défi CAPTCHA dès qu'il apparaît, Auto-Submit renvoie le token une fois résolu. Bien réglée, cette paire transforme une manipulation manuelle et fragile en un workflow de navigateur reproductible.

Pour un demandeur qui suit sa propre procédure de rendez-vous sur un portail BLS — cas courant au Maghreb francophone — c'est justement cette régularité qui manque quand on clique à la main. Ce guide traite ce qui entoure ce clic : profil de navigateur, cohérence de session et vérification du token, dans le cadre strict de vos propres démarches autorisées.

Ce que font réellement Auto-Open et Auto-Submit

Les deux fonctions couvrent les deux bouts du même échange. Auto-Open détecte le défi BLS et déclenche la résolution sans clic de votre part ; Auto-Submit injecte ensuite le token dans le formulaire, dans la même session que celle qui a ouvert le défi. Cette cohérence de session fait toute la différence : un token appliqué dans un contexte de navigateur autre que celui qui a déclenché le défi est presque toujours rejeté. Défi, résolution et envoi restent dans un seul contexte.

Encapsuler l'appel à l'API dans une fonction réutilisable

Isolez l'appel à CaptchaAI dans une fonction unique : elle reçoit la sitekey et l'URL de votre page, renvoie un token, et trace la durée et le code retour. Voici un exemple Node.js qui soumet la tâche et récupère l'identifiant à interroger :

import fetch from 'node-fetch';

const API_KEY = process.env.CAPTCHAAI_KEY;

export async function createTurnstileTask(siteKey, pageUrl) {
  const res = await fetch('https://api.captchaai.com/createTask', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      clientKey: API_KEY,
      task: {
        type: 'TurnstileTaskProxyless',
        websiteURL: pageUrl,
        websiteKey: siteKey,
      },
    }),
  });
  const data = await res.json();
  return data.taskId;
}

Une fois le taskId obtenu, interrogez le résultat à intervalle régulier plutôt qu'en boucle serrée, en espaçant les lectures.

Préparer un profil de navigateur dédié

Le profil chargé par l'extension doit être réservé à cette démarche, avec un user-data-dir persistant : c'est lui qui conserve l'état du compte entre deux exécutions et évite de repartir de zéro à chaque lancement. Rangez la clé CaptchaAI dans un coffre ou un secret de CI, jamais en clair. Un profil dédié règle la plupart des incidents attribués à tort à l'extension : sessions mélangées, cookies périmés, extension chargée deux fois.

Vérifier le token côté backend

Le token renvoyé par l'extension n'a de valeur qu'une fois vérifié par votre propre backend, avant toute opération métier. Cette étape n'est pas optionnelle : elle empêche qu'une action soit validée sur la foi d'un token périmé. L'extension propose, le backend décide.

Tracer chaque résolution

Instrumentez chaque appel CAPTCHA pour obtenir des signaux exploitables : durée d'obtention du token, code retour HTTP, identifiant de tâche et taille de la file d'attente. Séparez les journaux par environnement et corrélez chaque identifiant à votre traçage distribué, de quoi rejouer un incident à partir d'un seul identifiant.

Points de contrôle avant la mise en production

Contrôle Pourquoi Réglage attendu
Périmètre Écarter toute source non autorisée Démarches ou sources autorisées
Clé API Protéger le secret Coffre ou secret de CI
Profil de navigateur Conserver l'état user-data-dir dédié et persistant
Cohérence de session Éviter le rejet du token Même session pour Auto-Open et Auto-Submit
Budget de retry Ne pas masquer les défauts Backoff exponentiel borné, idempotent

Dépannage

Symptôme Cause probable Correctif
Token rejeté après résolution Token injecté dans une autre session Un seul contexte pour défi, résolution et envoi
Erreur transitoire de l'API Réseau instable ou quota atteint Retry borné ; vérifiez DNS et quotas
Extension inactive au chargement Profil non dédié ou chargée deux fois Un seul user-data-dir par démarche
Solde insuffisant Compte sous le minimum par tâche Rechargez et ajoutez une alerte de solde

FAQ

Ce guide autorise-t-il l'automatisation de portails BLS tiers ?

Non. Tous les exemples visent vos propres démarches ou un environnement pour lequel vous êtes autorisé par écrit. Pour une source externe, vérifiez d'abord les conditions d'utilisation et la base juridique.

Que faire quand l'API renvoie une erreur transitoire ?

Appliquez un retry avec backoff exponentiel borné : trois tentatives, délai doublé à chaque essai, plafond à 30 secondes. Si l'erreur persiste, contrôlez le réseau et les quotas de votre clé.

Le coût augmente-t-il avec le volume ?

La facturation CaptchaAI se fait par thread simultané, pas au solve : le forfait BASIC ($15/mois, 5 threads) inclut des résolutions illimitées par thread. Ce sont les boucles de mauvais paramètres et les tempêtes de retry qui coûtent cher — la grille ci-dessus les élimine.

Guides connexes

Passez d'une manipulation manuelle à un workflow BLS reproductible et mesurable. – Créez votre compte CaptchaAI.

Les commentaires sont désactivés pour cet article.