Scarnox · Blog

Résolution de captcha avec ou sans proxy : quel type de tâche choisir ?

Scarnox propose PopularCaptcha sous deux formes : sans proxy, où Scarnox résout le captcha sur son propre réseau, et avec proxy, où vous envoyez le proxy utilisé par votre bot. Les deux renvoient un jeton dans la même structure de réponse, et les deux sont gratuites lorsque la résolution échoue. La seule différence dans la requête est le proxy.

Le mode sans proxy est le bon point de départ pour la plupart des sites. N'envoyez votre propre proxy que lorsque le site lie le jeton à une adresse IP.

Les deux types de tâches

Type de tâcheCe que vous envoyez
PopularCaptchaTaskProxylesssitekey et URL de la page
PopularCaptchaTask (variante avec proxy)sitekey, URL de la page et votre proxy

Les deux sont des tâches PopularCaptcha. Le reste de la requête, la réponse et la gestion du jeton sont identiques.

Commencer sans proxy

Les résolutions sans proxy s'exécutent sur le réseau propre de Scarnox. L'intégration est la plus simple que vous puissiez écrire, et pour la plupart des sites le jeton fonctionne quelle que soit l'IP qui le soumet ensuite. Si vous ne savez pas lequel vous faut, commencez par celui-ci :

{
  "captcha_type": "PopularCaptchaTaskProxyless",
  "site_key": "10000000-ffff-ffff-ffff-000000000001",
  "site_url": "https://example.com/signup"
}

Envoyer un proxy lorsque le jeton est lié à une IP

Certains sites vérifient que l'IP qui a résolu le captcha est la même que celle qui envoie le formulaire. Le symptôme est clair : les jetons reviennent sans erreur, mais le site les rejette à chaque fois. La solution consiste à résoudre via le même proxy que votre bot utilise pour le reste de la session :

{
  "captcha_type": "PopularCaptchaTask",
  "site_key": "10000000-ffff-ffff-ffff-000000000001",
  "site_url": "https://example.com/signup",
  "proxy": "http://user:pass@203.0.113.10:8080"
}

Le format du proxy est http://user:pass@host:port. Utilisez le même proxy pour la résolution et pour l'envoi, et gardez-le fixe pendant toute la session. Changer de proxy entre la résolution et l'envoi fait réapparaître le problème de non-concordance d'IP.

Comment décider

Passez ces questions en revue dans l'ordre :

  1. Le jeton fonctionne-t-il lorsque vous l'envoyez depuis une autre machine ? Si oui, utilisez le mode sans proxy.
  2. Le site rejette-t-il les jetons uniquement lorsque l'IP d'envoi diffère de l'IP de résolution ? Si oui, envoyez le proxy.
  3. Le site utilise-t-il un cookie de session ou une vérification d'appareil liée à une seule IP ? Si oui, envoyez le proxy et gardez la même IP pendant toute la session.

Testez les deux modes avec l'essai gratuit avant de vous engager. Créez un compte et commencez avec un crédit d'essai gratuit, sans carte bancaire, puis lancez le même flux une fois par type.

Si votre proxy ne fonctionne plus

Une résolution échouée est gratuite. Si le proxy ne répond plus ou est bloqué par la cible, la résolution échoue et ne vous est pas facturée. Testez vous-même le proxy avant l'exécution, vérifiez son format, et assurez-vous que la cible ne bloque pas sa plage d'adresses. Un proxy qui fonctionne dans un navigateur mais échoue à la résolution est généralement un problème de format.

Garder les identifiants de proxy hors des journaux

Une adresse de proxy avec un mot de passe est un secret. Stockez-la dans une variable d'environnement ou dans un gestionnaire de secrets. Ne l'affichez pas dans les journaux, ne la committez pas, et ne la collez pas dans des rapports de bogue. Si vous journalisez la requête de résolution pour le débogage, retirez d'abord le champ proxy.

Choisir un proxy pour la variante

La résolution fonctionne avec n'importe quel proxy que vous envoyez, mais le jeton n'est utile que si la même IP soumet le formulaire. Utilisez une adresse résidentielle ou statique que vous contrôlez pour toute la session, et non un pool qui change à chaque requête. Les sites qui lient les jetons aux IP lient généralement aussi la session, donc un pool rotatif casse le flux deux fois.

Et la vitesse ?

Les deux variantes renvoient un jeton à partir d'une seule requête bloquante, sans boucle d'interrogation. Le délai est le même : environ 185 secondes. Choisissez la variante selon la question de l'IP, pas selon la vitesse.

Sessions et proxys en pratique

Utilisez le même proxy depuis la première requête de la session jusqu'à la dernière. Un flux typique charge la page d'inscription, résout le captcha et envoie le formulaire. Si le chargement de la page passe par une adresse et la résolution par une autre, un site qui lie les jetons à l'IP peut rejeter le jeton alors que tout le reste semble correct.

Conservez un seul réglage de proxy dans votre code et transmettez-le à chaque étape qui touche le site. Si d'autres parties de votre tâche changent de proxy pour le scraping, donnez au flux de captcha son propre proxy fixe. Mélanger les deux est l'une des causes les plus fréquentes d'un jeton qui fonctionnait en test et échoue en production.

Ne renseignez le champ proxy que sur la variante qui utilise un proxy. Envoyer un proxy avec le type de tâche sans proxy n'améliore pas la résolution, et rend plus difficile de savoir quel mode a été utilisé lors de la lecture des journaux.

Lire les journaux pour trouver la bonne réponse

Si vous ne savez pas quel mode un site demande, lancez les deux sur la même page et comparez. Journalisez si chaque jeton a été accepté, avec le type de tâche et l'indication d'un proxy envoyé ou non. Un site qui accepte systématiquement les jetons sans proxy n'a pas besoin de la variante avec proxy. Un site qui rejette les jetons seulement lors de certaines exécutions indique une vérification d'IP. Laissez les journaux trancher, pas l'intuition.

Prochaines étapes

Commencez avec un crédit d'essai gratuit, sans carte bancaire : créez un compte et testez les deux types de tâches sur une même page.