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és | Type | Requis | Description |
---|---|---|---|
type | String | Requis | AntiCloudflareTask |
websiteURL | String | Requis | L’adresse de la page cible. |
proxy | String | Requis | Votre proxy statique ou persistant. Apprenez Comment utiliser les proxys |
userAgent | String | Facultatif | Le 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)