Skip to content
API
hCAPTCHA
Token

hCAPTCHA Token

⚠️

La fonctionnalité de résolution de hCaptcha Token n'est actuellement pas prise en charge pour le moment. Veuillez revenir plus tard ou consulter hCaptcha Image !

Aperçu

hCaptcha Token est une méthode de résolution de hCaptcha en obtenant des jetons d'authentification sans avoir besoin d'interagir avec des images. C'est la méthode la plus rapide et la plus efficace pour contourner hCaptcha.

🔐

hCaptcha Token est largement utilisé sur de nombreux sites web tels que Cloudflare, Discord, OpenSea et de nombreux autres services pour se protéger contre les bots.

hCaptcha Token BBox

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.typestringouiHCaptchaTaskProxyless
task.websiteURLstringouiURL complète de la page contenant hCaptcha
task.websiteKeystringouiClé du site hCaptcha (data-sitekey)

Exemple de requête

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "VOTRE_CLE_API",
  "task": {
    "type": "HCaptchaTaskProxyless",
    "websiteURL": "https://example.com",
    "websiteKey": "10000000-ffff-ffff-ffff-000000000001"
  }
}

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": "P1_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.hKdwYXNza2V5xQbWjeEJ6Tk1wkaXoYkbJ-QT3vPKAXg2xbxRdxNPLFQlE4Dt2qJrlhsClaZ2dHmZ7IwoU6Wt8p7VDr6JCeco-KkjsEAHjYrCvuZ3xQnyr1VFjp_xq98KcdvmCUd7xrociy1smgTL2CsOVoe_kKfGJcMmjrzHf3fz3OLfhSKDeUtC3VdD6Lz2MHRpyb4rqIpJrCuZ1YGpeMNSWfGeIx1JlPrbC11ceQNJMl_hHhvn7HZ_8OZZKKdTfSX9e5RE8AHlzhqdqI6xHaveYKZC8PyrjRcNv1Ano5_ZXWFT-o3tlXIYZsICi1aStTk2prwIh5-jVnL2XGbWHYhDhQ6-oJGeHmQLoGm_B7dQ5BaPx9NC-x2ub3Az37QzUIi98yIw7Fv8mVYhO-ZQPN98iWojiYDscZ0WspIyD4wQyDgE37m6PWhx0WB0RYEN_bUOwtiZ_2CplM7uiH9VV5hvyEg-RpY_A494J5cAbaYVt2XsNLE0MPJqFRfXDhupzDlYxBIeb8k6QN9EDBj02dkFMKSl4DK8R8Rblm-B9socc39LpAj8eN4O15Fl6I01prM6oohrbBwhc_i0a_U22qnKs3uRQwUMTpCLixF4-C3Xqnk00l2HuNDXeh1wQx8SdYWrY7vk2Z_blsOYH4ty9-CvZAMbWI6mBD8BX1JK8L0hU3maFuSXPdBKvB-cfC_1TBeR7j5DIEKt2KuM74sr0BeneFAT2-jqDo1WDmPeLZBUaGb6MGwYDm6PK8U2BEzAs1SLhnnTIky90si443KQlnZFoe4RiiOIbvMd1l0r3B1OqEa4WAgRdh51fTTTj-kkPndvf59EfZrNmhLDcrdr1d-pkWyXhnzGIEXV8zK8VDzgBqm69pZ8CkmVLP3fhab6MXvLITmDRAxE7IQZfz4TfBjKgMCOk19cdgk1qFLQaVQ49yuGdflnB4-o4f7aC3ga7w9M3m-hAOy_mFweVrSVP9KxPVm5PZr1ocVb5y4wGYNfj2w9xYNew6oeFkW2jTOgElMJfrh7k7ZunHRsoF4fiixWM1Sv64yGVl3aV3xtrYfXDbiE3ycNpaSwn5nj_lqenaJ9KiYF9KfqPUYTsGEOun_8I1zeUyD6CSu0xDKHHMZ8gzXxOiB11EezdLn_agqneWbmD7UN9URXrgry_NSSrdmJe2ZM84smAgWxfCNvKIyC3lAXSaOcXOmGQTf35aQYARrAuII4gOxSwZXBGJWoKbZNFK_6pYKySB_OL_2s-Do0EdoL1Z1t0Y4FMKDZaZStwRA821kqfzqOLBbkVVhxvYZXvDFeNtBKYK09OmmhQ51bRyGSPEG4cGJ_xOBjepl9ITp6ZryAPDClelD5IKeCqenzKiEZZB0gEWBLNPgybBowc-tgj-iNRYK-Sy6gZ_bfIaepwoIguognuFCz1wufgSy8L_5M4ZcVjB-dhYt6ZrHyo95UakhQagIRFYY8QgOsyXsGC0WAv_6wV8vicwohMrapPbAUYmeCXIcMP7ad1aiaKlWnJuMTfrSd5kqkmhqpw4l4A2uZ87_wg3WGiTHCYid7MUPk9v1ADqGO27YwfBr1Q4gHVYVDRbP1oUKdN0MGrSu6Egg8jwI8gjYwZXckvjuP8DdWxPQwbfXceFASecaek1FZwuz6a1pFcMisAVS8K93iTQ40aacH4BQBM3-c9ggV4W9In6KoVED3huRapy6lvlscKTwKqRGf1P-mlcv17XRuQgXdTkCnHUMg3QrlDdPc4HFwGwG1EjFHiVl0uC3MWHMjNmRWP__t6u-lLhbjiYckMdjokwxbDpJI1lkywqkQ3XTHtWI9UeUfoUh4tvYWNLanRzrkStzHqC6VkHENMt92VmQXWbpY2bWf-gkaHYKyobbhKoHe0kPg66ahIsyP1VIhfsEARsKSzomo1HECydBObyZVnwnIheZSylJQnoax1cWtt-p5fjU-g6DDX-aqrxnAqTNRDk5DitCJBye-DCtuPKoIxnTfnebCOP5cFi2mpsJj45Ft8ILWwOATSZrifSKB4-QFWcv1HgCA8bjjiKPeUji2KxjnLH3T-btWnQgeen2xMy42mcPtiU9oKJaWqP2qQ-Z2HLk1ZDeUs8J9DNuWDMxq-v7r6CW2KAfDduFMp8eYHRwsFNnEwJD04Le4LzvQP1Xeqwz-uRVw_SrOlbs3m2qcR54o-217uAqRZyyNrwkk3naArZjtgkSvAd2HSbxYLojAd20PkFPC6XGCPvRxyi6iA5q3MNk7kFMU0J8bNyrcI0H8jlAzf-q9Fc1YaJqfks5Hajc5FRjqxOgu6zcevSKd0DV-2HCtjQpgLZqOH7hpfCmkAIsITgMSOxL-jaNleHDOY_TcJqhzaGFyZF9pZM4VmeRUonBkAA.cC-lgBWfBLBLEh-CBylsiYlwSQFX_Cl0Xdkx8yhoMGI"
}

Explication du statut

  • errorId = 0 et status = ready : Résolu avec succès, lire le résultat dans solution.gRecaptchaResponse
  • errorId = 0 et status = processing : Résolution du captcha en cours, attendre 2 secondes et réessayer
  • errorId > 0 : Erreur système, renvoie le code d'erreur et la description

Exemples d'intégration

import requests
import time
 
def solve_hcaptcha_token(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': 'HCaptchaTaskProxyless',
            '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']['gRecaptchaResponse']
        
        # Si status == 'processing', continuer la boucle
 
# Utilisation
website_url = 'https://example.com'
website_key = '10000000-ffff-ffff-ffff-000000000001'
token = solve_hcaptcha_token(website_url, website_key, 'VOTRE_CLE_API')
print('Token hCaptcha:', token)

Codes d'erreur courants

Code d'erreurDescriptionRemarques
0succèsSuccès
1en traitementEn traitement
2champs requis manquantsChamps requis manquants, vérifier à 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érifier à nouveau la clé API
6solde de compte insuffisantSolde de compte insuffisant, ajouter 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. Valider la clé du site

  • Vérifier la clé du site avant d'envoyer la requête
  • Assurer que la clé du site obtenue de l'attribut data-sitekey est exacte
  • Vérifier 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)
  • Utiliser le token immédiatement après réception
  • Ne pas mettre en cache le token trop longtemps

3. Intervalle d'interrogation

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

4. Logique de nouvelle tentative

  • Implémenter une nouvelle tentative pour les erreurs temporaires comme ERROR_NO_SLOT_AVAILABLE
  • Utiliser un backoff exponentiel lors de la nouvelle tentative
  • Limiter le nombre maximum de tentatives

5. 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 :