UNLOCK API

API para resolver Página de desafio do Cloudflare

Envie uma tarefa de Página de desafio do Cloudflare para a API e receba a resposta que seu código envia para a página. URL da página de desafio, seu user agent e um proxy. Você recebe: Um cookie cf_clearance.

Resumo

Preço por 1.000
$0.725 ($0.000725 por tarefa)
Tipo no createTask
AntiCloudflareTask
Método no in.php
cloudflare_challenge
Você envia
URL da página de desafio, seu user agent e um proxy
Você recebe
Um cookie cf_clearance

Onde encontrar os valores

A página de desafio é a verificação de página inteira do Cloudflare. O cookie só funciona com o mesmo IP de proxy e o mesmo user agent que você enviar.

createTask e getTaskResult

Crie a tarefa, aguarde cerca de 5 segundos e consulte o resultado a cada 5 segundos até o status ser ready. Se a tarefa falhar, a API retorna um erro e o valor volta para o seu saldo.

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"])

while True:
    time.sleep(5)
    r = requests.post(f"{API}/getTaskResult", json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if r["errorId"]:
        raise SystemExit(r["errorCode"])   # failed tasks are refunded
    if r["status"] == "ready":
        print(r["solution"])
        break

in.php e res.php

A mesma tarefa com a API clássica de formulário. Adicione json=1 para receber respostas em JSON; sem isso, as respostas vêm em texto simples, como OK|1001.

curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&undefined&json=1"
# {"status":1,"request":"1001"}

curl -s "https://unlock-api.com/res.php?key=YOUR_API_KEY&action=get&id=1001&json=1"
# {"status":0,"request":"CAPCHA_NOT_READY"}  then  {"status":1,"request":"ANSWER"}