UNLOCK API
Página de desafio do Cloudflare

Página de desafio do Cloudflare

Como enviar uma tarefa de Página de desafio do Cloudflare para a UNLOCK API com createTask ou in.php: nomes do tipo de tarefa, todos os parâmetros, o objeto solution, os campos de proxy e exemplos de código em 7 linguagens.
Preço
$0.725 $0.000725 por tarefa
Você envia
URL da página de desafio, seu user agent e um proxy
Você recebe
Um cookie cf_clearance

Visão geral e preço

Nomes do tipo de tarefa

Este tipo sempre roda pelo seu proxy, então os campos de proxy são obrigatórios.
AntiCloudflareTaskCom seu proxy

Também aceito: CloudflareChallengeTask

Objeto da tarefa

type
StringObrigatório
Nome do tipo de tarefa. Reconhecido com letras maiúsculas ou minúsculas. AntiCloudflareTask
websiteURL
StringObrigatório
Endereço completo da página onde o CAPTCHA aparece, começando com http:// ou https://.
userAgent
StringObrigatório
User-Agent do navegador a usar na resolução. Envie o mesmo quando enviar a resposta.

Campos que não aparecem aqui são repassados ao resolvedor como foram enviados.

Campos de proxy

Este tipo sempre roda pelo seu proxy, então os campos de proxy são obrigatórios.
proxyType
StringObrigatório
http, https, socks4 ou socks5.
proxyAddress
StringObrigatório
Endereço IP ou nome de host do proxy.
proxyPort
IntegerObrigatório
Porta do proxy.
proxyLogin
StringOpcional
Usuário do proxy, se o proxy exigir.
proxyPassword
StringOpcional
Senha do proxy, se o proxy exigir.
proxy
String
Todos os campos de proxy em uma única string, por exemplo http://user:pass@1.2.3.4:8080.

Usando proxy

Requisição

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
  }
}

Objeto solution

Retornado em solution quando status é ready.
cf_clearance
String
O cookie cf_clearance. Use-o com o mesmo User-Agent e o mesmo proxy.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "cf_clearance": "Bi2Gmx0hTtMjhXAH_4WNDHgDTsAbqUqrlXy1q6p..."
  },
  "cost": "0.000725",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Exemplos de código

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étodo de formulário in.php

Este tipo está disponível apenas com os métodos JSON.