Guide
Tâche (Token)
Cloudflare Challenge

Cloudflare : Résolution du défi

TIP

Créez la tâche avec la méthode createTask et obtenez le résultat avec la méthode getTaskResult.

Note
  • Un proxy est nécessaire, veuillez utiliser un proxy statique ou un proxy persistant plutôt qu’un proxy rotatif.
  • Prend en charge les userAgent personnalisés, veuillez le conserver identique à celui que vous utilisez.
  • Si vous ne parvenez pas à obtenir la solution, votre IP est peut-être bloquée, veuillez essayer de changer votre proxy.
  • Vous devez utiliser la bibliothèque de requêtes TLS pour interroger le site web cible.

Le type de tâche type est le suivant

  • AntiCloudflareTask

Créer une tâche

Créez la tâche avec createTask.

Structure de l’objet de tâche

PropriétésTypeRequisDescription
typeStringRequisAntiCloudflareTask
websiteURLStringRequisL’adresse de la page cible.
proxyStringRequisVotre proxy statique ou persistant. Apprenez Comment utiliser les proxys
userAgentStringFacultatifLe user-agent que vous avez utilisé pour interroger le site web cible. Seul le userAgent de Chrome est pris en charge

Exemple de requête

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AntiCloudflareTask",
    "websiteURL": "https://www.yourwebsite.com",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",
    "proxy": "ip:port:user:pass"
  }
}

Exemple de réponse

{
  "errorId": 0,
  "status": "idle",
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca"
}
 

Obtention du résultat

Utilisez la méthode getTaskResult pour obtenir les résultats de reconnaissance

Selon le site web et le proxy, vous obtiendrez les résultats dans un intervalle de 2s à 20s

Exemple de requête

POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca"
}

Exemple de réponse

{
  "errorId": 0,
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca",
  "status": "ready",
  "errorCode": "",
  "errorDescription": "",
  "solution": {
    "cookies": {
        "cf_clearance": "Bcg6jNLzTVaa3IsFhtDI.e4_LX8p7q7zFYHF7wiHPo...uya1bbdfwBEi3tNNQpc"
    },
    "token": "Bcg6jNLzTVaa3IsFhtDI.e4_LX8p7q7zFYHF7wiHPo...uya1bbdfwBEi3tNNQpc",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"
  }
}

Utiliser la requête SDK

# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
 
import capsolver
 
# capsolver.api_key = "..."
solution = capsolver.solve({
  "type": "AntiCloudflareTask",
  "websiteURL": "https://www.yourwebsite.com",
  "proxy": "ip:port:user:pass"
})

Exemple de code

# pip install requests
import requests
import time
 
api_key = "YOUR_API_KEY"  # your api key of capsolver
 
def capsolver():
    payload = {
        "clientKey": api_key,
        "task": {
            "type": "AntiCloudflareTask",
            "websiteURL": "https://www.yourwebsite.com",
            "proxy": "ip:port:user:pass"
        }
    }
    res = requests.post("https://api.capsolver.com/createTask", json=payload)
    resp = res.json()
    task_id = resp.get("taskId")
    if not task_id:
        print("Failed to create task:", res.text)
        return
    print(f"Got taskId: {task_id} / Getting result...")
 
    while True:
        time.sleep(1)  # delay
        payload = {"clientKey": api_key, "taskId": task_id}
        res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
        resp = res.json()
        status = resp.get("status")
        if status == "ready":
            return resp.get("solution", {})
        if status == "failed" or resp.get("errorId"):
            print("Solve failed! response:", res.text)
            return
 
token = capsolver()
print(token)