Captcha Facebook
Aperçu
Le Captcha Facebook est un système de sécurité utilisé par Facebook pour prévenir le spam, les bots et les activités automatisées indésirables. Il s'agit d'un captcha texte avec la police distinctive de Facebook.
📘
Le Captcha Facebook apparaît généralement lors de la connexion, de l'inscription de nouveaux comptes ou lorsque Facebook détecte une activité inhabituelle depuis votre compte.

1. Créer une Requête
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 | ImageToTextTask |
task.image | string | oui | base64 de l'image captcha Facebook |
task.subType | string | oui |
Exemple de Requête
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "VOTRE_API_KEY",
"task": {
"type": "ImageToTextTask",
"image": "image captcha Facebook encodée en base64",
"subType": "facebook"
}
}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 de (1) |
Exemple de Requête
POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "VOTRE_API_KEY",
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}Réponse
{
"errorId": 0,
"status": "ready",
"solution": "2m7k8x"
}Explication du Statut
errorId = 0etstatus = ready: Résolu avec succès, lire le résultat danssolutionerrorId = 0etstatus = processing: Résolution du captcha en cours, attendre 2 secondes et réessayererrorId > 0: Erreur système, renvoie le code d'erreur et la description
Exemples d'Intégration
import requests
import time
import base64
def solve_facebook_captcha(image_path, api_key='YOUR_API_KEY'):
# Lire et encoder l'image
with open(image_path, 'rb') as image_file:
image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
# Étape 1 : Créer une tâche
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'ImageToTextTask',
'image': image_base64,
'subType': 'facebook'
}
}
response = requests.post(create_task_url, json=create_task_payload)
result = response.json()
if result['errorId'] != 0:
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 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'] != 0:
raise Exception(result['errorDescription'])
if result['status'] == 'ready':
return result['solution']
# Si status == 'processing', continuer la boucle
# Utilisation
solution = solve_facebook_captcha('facebook_captcha.png', 'YOUR_API_KEY')
print('Résultat captcha Facebook:', solution)Codes d'Erreur Courants
| Code d'Erreur | Description | Notes |
|---|---|---|
| 0 | succès | Succès |
| 1 | en traitement | En traitement |
| 2 | champs requis manquants | Champ requis manquant, vérifier à nouveau les paramètres |
| 3 | tâche non prise en charge | Type de tâche non pris en charge |
| 4 | échec de création de tâche | Échec de création de tâche |
| 5 | clé client inexistante | La clé API n'existe pas, vérifier à nouveau la clé API |
| 6 | solde de compte insuffisant | Solde de compte insuffisant, recharger des crédits |
| 7 | tâche échouée, veuillez créer une nouvelle tâche | Tâche échouée, veuillez créer une nouvelle tâche |
| 8 | ID de tâche inexistant | L'ID de tâche n'existe pas |
Meilleures Pratiques
Pour obtenir les meilleurs résultats lors de l'utilisation de l'API Achicaptcha, suivez ces principes :
1. Qualité de l'Image
- Utiliser des images haute résolution
- S'assurer que les images ne sont pas trop floues ou bruitées
- Capturer ou recadrer correctement la zone du captcha Facebook
2. Intervalle de Polling
- Attendre au moins 2 secondes entre les vérifications de résultat
- Ne pas spammer l'API avec trop de requêtes consécutives
- Avoir un timeout pour éviter les boucles infinies
3. Logique de Réessai
- Implémenter un réessai pour les erreurs temporaires comme
ERROR_NO_SLOT_AVAILABLE - Utiliser un backoff exponentiel lors du réessai
- Limiter le nombre maximum de tentatives
4. Sécurité de la Clé API
- Ne pas coder en dur la clé API dans le code
- Utiliser des variables d'environnement
- Ne pas exposer la clé API côté client
Liens Utiles :