Skip to content
API
ReCAPTCHA
Image

ReCAPTCHA Image (Téléphone)

Aperçu

Résolvez Recaptcha avec une vitesse ultra-rapide, précision numéro 1 sur le marché. Nous fournissons des services pour résoudre tous les types de ReCaptcha Image sur téléphones.

📱

Ce service vous permet d'envoyer des images de captcha et de recevoir les indices des cellules à cliquer pour résoudre le captcha.

ReCAPTCHA Mobile

1. Créer une tâche

Requête

POST https://api.achicaptcha.com/createTask

Paramètres

Nom du paramètreType de donnéesRequis ?Description
clientKeystringouiClé API
task.typestringouiReCaptchaPhoneTask
task.subTypestringouiValeur égale à 0
task.imagestringouiImage du captcha au format base64, capturez la zone d'affichage de l'image du captcha (sans bordure, uniquement les petites cellules carrées)
task.otherstringouiQuestion|Nombre de grilles
• Question : "Select all images with a bus" (full question text shown in the captcha prompt)
• Nombre de grilles : 3 (ou 4, 5)
→ other : "Select all images with a bus|4"

Exemple de requête

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "VOTRE_CLE_API",
  "task": {
    "type": "ReCaptchaPhoneTask",
    "subType": "0",
    "image": "iVBORw0KGgoAAAANSUhEUgAA...(image encodée en base64)",
    "other": "Select all images with a bus|4"
  }
}

Réponse

En cas de succès, le serveur renvoie errorId = 0 et taskId

{
  "errorId": 0,
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

2. Obtenir le résultat

Requête

POST https://api.achicaptcha.com/getTaskResult

Paramètres

Nom du paramètreType de donnéesRequis ?Description
clientKeystringouiClé API
taskIdstringouiTaskId obtenu de (1)

Exemple de requête

POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "VOTRE_CLE_API",
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

Réponse

{
  "errorId": 0,
  "status": "ready",
  "solution": "0,5,9"
}

Remarque : Pour le type "grid", la solution est une liste d'indices d'images à cliquer, commençant à partir de 0

Explication du statut

  • errorId = 0 : Résolu avec succès, lire le résultat dans solution
  • errorId = 1 : Résolution du captcha en cours, attendez 2-3 secondes et réessayez
  • errorId > 1 : Erreur système, renvoie le code d'erreur et la description

Exemples d'intégration

import requests
import time
 
def solve_recaptcha_phone(image_base64, question, grid_count, api_key='VOTRE_CLE_API'):
    # Étape 1 : Créer une tâche
    create_task_url = 'https://api.achicaptcha.com/createTask'
    create_task_payload = {
        'clientKey': api_key,
        'task': {
            'type': 'ReCaptchaPhoneTask',
            'subType': '0',
            'image': image_base64,
            'other': f'{question}|{grid_count}'
        }
    }
    
    response = requests.post(create_task_url, json=create_task_payload)
    result = response.json()
    
    if result['errorId'] > 1:
        raise Exception(result['errorDescription'])
    
    task_id = result['taskId']
    
    # Étape 2 : Obtenir le résultat
    get_result_url = 'https://api.achicaptcha.com/getTaskResult'
    
    while True:
        time.sleep(2)  # Attendre 2-3 secondes
        
        get_result_payload = {
            'clientKey': api_key,
            'taskId': task_id
        }
        
        response = requests.post(get_result_url, json=get_result_payload)
        result = response.json()
        
        if result['errorId'] > 1:
            raise Exception(result['errorDescription'])
        
        if result['status'] == 'ready':
            return result['solution']  # Renvoie "0,5,9" - indices à cliquer
        
        # Si status == 'processing', continuer la boucle
 
# Utilisation
image_base64 = 'iVBORw0KGgoAAAANSUhEUgAA...'  # Image du captcha encodée en base64
question = 'Select all images with a bus'  # Full question text from the captcha prompt
grid_count = 4  # Nombre de grilles (3, 4 ou 5)
solution = solve_recaptcha_phone(image_base64, question, grid_count, 'VOTRE_CLE_API')
print('Indices de grille à cliquer :', solution)  # Exemple : "0,5,9"
 
# Utiliser la solution pour cliquer sur les cellules correspondantes
indices = [int(i) for i in solution.split(',')]
for index in indices:
    # Cliquer sur la cellule avec l'indice correspondant
    print(f'Cliquer sur la cellule d\'indice : {index}')

Codes d'erreur courants

Code d'erreurDescriptionNotes
0succèsSuccès
1en traitementEn traitement
2champs requis manquantsChamps requis manquants, vérifiez à nouveau les paramètres
3tâche non prise en chargeType de tâche non pris en charge
4échec de la création de la tâcheÉchec de la création de la tâche
5la clé client n'existe pasLa clé API n'existe pas, vérifiez à nouveau la clé API
6solde du compte insuffisantSolde du compte insuffisant, ajoutez plus de crédits
7échec de la tâche, veuillez créer une nouvelle tâcheÉchec de la tâche, veuillez créer une nouvelle tâche
8l'ID de tâche n'existe pasL'ID de tâche n'existe pas

Meilleures pratiques

Pour de meilleurs résultats lors de l'utilisation de l'API Achicaptcha, suivez ces principes :

1. Préparer l'image du captcha

  • Capturez clairement la zone d'affichage de l'image du captcha, sans bordures ni autres éléments d'interface utilisateur
  • Incluez uniquement les petites cellules carrées (grille) du captcha
  • Image au format base64
  • Assurez-vous que l'image a une résolution suffisante pour la reconnaissance

2. Déterminer les informations exactes

  • Obtenez la question à partir de la partie en gras du texte du captcha (exemple : "Select all images with a bus", "Select all squares with traffic lights")
  • Déterminez le nombre de grilles correct (3x3, 4x4 ou 5x5)
  • Formatez other correctement : "question|nombre_de_grilles" (exemple : "Select all images with a bus|4")

3. Intervalle de polling

  • Attendez au moins 2-3 secondes entre les vérifications de résultat
  • Ne spammez pas l'API avec trop de requêtes consécutives
  • Définissez un délai d'expiration pour éviter les boucles infinies (120 secondes recommandées)

4. Traiter les résultats

  • La solution renvoyée est une chaîne d'indices à cliquer, séparés par des virgules (exemple : "0,5,9")
  • L'indice commence à 0, en comptant de gauche à droite, de haut en bas
  • Analysez la chaîne et cliquez sur les cellules correspondantes

5. Logique de nouvelle tentative

  • Implémentez une nouvelle tentative pour les erreurs temporaires comme ERROR_NO_SLOT_AVAILABLE
  • Utilisez un backoff exponentiel lors de la nouvelle tentative
  • Limitez le nombre maximum de tentatives

6. Sécurité de la clé API

  • Ne codez pas en dur la clé API dans le code
  • Utilisez des variables d'environnement
  • N'exposez pas la clé API côté client

Liens utiles :