ReCAPTCHA
Aperçu
Google reCAPTCHA est le système de captcha le plus populaire au monde, utilisé par des millions de sites Web pour se protéger contre le spam et les bots. Achicaptcha prend actuellement en charge reCAPTCHA v2 avec un taux de réussite élevé.
⚠️
Actuellement, Achicaptcha ne prend en charge que reCAPTCHA v2. reCAPTCHA v3 et Enterprise ne sont pas encore pris en charge.

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 | RecaptchaV2TaskProxyless pour une résolution ultra-rapide RecaptchaV2TaskProxylessNormal pour une résolution normale |
task.websiteURL | string | oui | URL du site Web contenant le captcha |
task.websiteKey | string | oui | Clé de site reCAPTCHA |
Exemple de requête
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "VOTRE_CLE_API",
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}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": "03AGdBq27QGA96FJRo3mtz..."
}Explication du statut
errorId = 0etstatus = ready: Résolu avec succès, lire le résultat danssolutionerrorId = 0etstatus = processing: Résolution du captcha en cours, attendez 2 secondes et réessayezerrorId > 0: Erreur système, renvoie le code d'erreur et la description
Exemples d'intégration
import requests
import time
def solve_recaptcha_v2(website_url, website_key, 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': 'RecaptchaV2TaskProxyless',
'websiteURL': website_url,
'websiteKey': website_key
}
}
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
website_url = 'https://www.google.com/recaptcha/api2/demo'
website_key = '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-'
token = solve_recaptcha_v2(website_url, website_key, 'VOTRE_CLE_API')
print('Token reCAPTCHA :', token)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. Valider la clé de site
- Vérifiez la clé de site avant d'envoyer la requête
- Assurez-vous que la clé de site obtenue à partir de l'attribut
data-sitekeyest exacte - Vérifiez que l'URL du site Web correspond à la page contenant le captcha
2. Gérer les délais d'expiration
- Le token a un délai d'expiration (généralement 120 secondes)
- Utilisez le token immédiatement après l'avoir reçu
- Ne mettez pas le token en cache trop longtemps
3. Intervalle de polling
- Attendez au moins 2 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. 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
5. 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 :