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.

1. Créer une tâche
Requête
POST https://api.achicaptcha.com/createTask
Paramètres
| Nom du paramètre | Type de données | Requis ? | Description |
|---|---|---|---|
clientKey | string | oui | Clé API |
task.type | string | oui | ReCaptchaPhoneTask |
task.subType | string | oui | Valeur égale à 0 |
task.image | string | oui | Image du captcha au format base64, capturez la zone d'affichage de l'image du captcha (sans bordure, uniquement les petites cellules carrées) |
task.other | string | oui | Question|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ètre | Type de données | Requis ? | Description |
|---|---|---|---|
clientKey | string | oui | Clé API |
taskId | string | oui | TaskId 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 danssolutionerrorId = 1: Résolution du captcha en cours, attendez 2-3 secondes et réessayezerrorId > 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'erreur | Description | Notes |
|---|---|---|
| 0 | succès | Succès |
| 1 | en traitement | En traitement |
| 2 | champs requis manquants | Champs requis manquants, vérifiez à nouveau les paramètres |
| 3 | tâche non prise en charge | Type 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 |
| 5 | la clé client n'existe pas | La clé API n'existe pas, vérifiez à nouveau la clé API |
| 6 | solde du compte insuffisant | Solde 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 |
| 8 | l'ID de tâche n'existe pas | L'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
othercorrectement : "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 :