UNLOCK API
Page Cloudflare Challenge

Page Cloudflare Challenge

Comment envoyer une tâche Page Cloudflare Challenge à UNLOCK API avec createTask ou in.php : noms du type de tâche, tous les paramètres, l'objet solution, les champs proxy et des exemples de code dans 7 langages.
Prix
$0.725 $0.000725 par tâche
Vous envoyez
URL de la page de challenge, votre user agent et un proxy
Vous recevez
Un cookie cf_clearance

Présentation et prix

Noms du type de tâche

Ce type passe toujours par votre proxy, les champs proxy sont donc obligatoires.
AntiCloudflareTaskVia votre proxy

Également accepté: CloudflareChallengeTask

Objet tâche

type
StringObligatoire
Nom du type de tâche. Reconnu quelle que soit la casse. AntiCloudflareTask
websiteURL
StringObligatoire
Adresse complète de la page où apparaît le CAPTCHA, commençant par http:// ou https://.
userAgent
StringObligatoire
User-Agent du navigateur à utiliser pendant la résolution. Envoyez le même quand vous soumettez la réponse.

Les champs qui ne figurent pas ici sont transmis au résolveur tels qu'envoyés.

Champs proxy

Ce type passe toujours par votre proxy, les champs proxy sont donc obligatoires.
proxyType
StringObligatoire
http, https, socks4 ou socks5.
proxyAddress
StringObligatoire
Adresse IP ou nom d'hôte du proxy.
proxyPort
IntegerObligatoire
Port du proxy.
proxyLogin
StringFacultatif
Nom d'utilisateur du proxy, si le proxy en demande un.
proxyPassword
StringFacultatif
Mot de passe du proxy, si le proxy en demande un.
proxy
String
Tous les champs proxy dans une seule chaîne, par exemple http://user:pass@1.2.3.4:8080.

Utiliser un proxy

Requête

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AntiCloudflareTask",
    "websiteURL": "https://example.com/login",
    "userAgent": "Mozilla/5.0 ...",
    "proxyType": "http",
    "proxyAddress": "1.2.3.4",
    "proxyPort": 8080
  }
}

Objet solution

Renvoyé dans solution quand status vaut ready.
cf_clearance
String
Le cookie cf_clearance. Utilisez-le avec le même User-Agent et le même proxy.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "cf_clearance": "Bi2Gmx0hTtMjhXAH_4WNDHgDTsAbqUqrlXy1q6p..."
  },
  "cost": "0.000725",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Exemples de code

import time, requests

API = "https://unlock-api.com"
KEY = "YOUR_API_KEY"

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "AntiCloudflareTask",
      "websiteURL": "https://example.com/login",
      "userAgent": "Mozilla/5.0 ...",
      "proxyType": "http",
      "proxyAddress": "1.2.3.4",
      "proxyPort": 8080
    }
}).json()
if task["errorId"]:
    raise SystemExit(task["errorCode"])

for _ in range(60):   # 60 x 5 s = the 5 minute task limit
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(f"{r['errorCode']}: {r.get('errorDescription', '')}")   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"])
        break
else:
    raise SystemExit("timed out")

Méthode formulaire in.php

Ce type n'est disponible qu'avec les méthodes JSON.