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.

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 | HCaptchaTaskProxyless |
task.websiteURL | string | oui | URL complète de la page contenant hCaptcha |
task.websiteKey | string | oui | Clé 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è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": "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 = 0etstatus = ready: Résolu avec succès, lire le résultat danssolution.gRecaptchaResponseerrorId = 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
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'erreur | Description | Remarques |
|---|---|---|
| 0 | succès | Succès |
| 1 | en traitement | En traitement |
| 2 | champs requis manquants | Champs requis manquants, vérifier à 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érifier à nouveau la clé API |
| 6 | solde de compte insuffisant | Solde 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 |
| 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é 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-sitekeyest 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 :