TurnstileTask#


Metodo di risoluzione basato su proxy per aggirare le pagine di protezione 403 di Cloudflare.
Restituisce un cookie cf_clearance e una stringa user-agent corrispondente che possono essere utilizzati per accedere alle pagine protette da Cloudflare che restituiscono errori 403 Forbidden.
Prezzo: $1.0/K

TurnstileTask Struttura dell'oggetto attività#

nometipoNecessarioDescrizione
typeStringTurnstileTask
websiteURLStringL'URL completo della pagina di protezione 403 di Cloudflare
htmlPageBase64StringNOContenuto HTML completo della pagina 403 codificato in Base64. Opzionale - se non fornito, il sistema recupererà automaticamente la pagina tramite il tuo proxy (Modalità di recupero automatico).
proxyTypeStringTipo proxy: `http`, `socks4`, `socks5`
proxyAddressStringIndirizzo IP o nome host del server proxy
proxyPortIntegerporta proxy
proxyLoginStringNOAccesso dell'agente
proxyPasswordStringNOPassword dell'agente

Modalità 1: Recupero automatico#

Quando htmlPageBase64 non viene fornito, il sistema recupera automaticamente la pagina 403 tramite il tuo proxy. Usa questa modalità quando il sito web di destinazione restituisce sempre una pagina 403 indipendentemente dall'indirizzo IP del visitatore.

Modalità 2: Invio manuale HTML#

Quando htmlPageBase64 viene fornito, cattura il contenuto HTML della pagina 403, codificalo in base64 e invialo nella richiesta. Usa questa modalità quando il sito web di destinazione mostra una pagina 403 solo per determinati indirizzi IP.

Richiedi esempio#

Punto finale dell'API: https://api.nextcaptcha.com/createTask

metodo: POST

Tipo di contenuto: application/json

Modalità 1: Recupero automatico#

{
    "clientKey":"api key",
    "task": {
        "type":"TurnstileTask",
        "websiteURL":"https://example.com",
        "proxyType":"http",
        "proxyAddress":"your_proxy_address",
        "proxyPort":1234,
        "proxyLogin":"your_proxy_login",
        "proxyPassword":"your_proxy_password"
    }
}

Modalità 2: Invio manuale HTML#

{
    "clientKey":"api key",
    "task": {
        "type":"TurnstileTask",
        "websiteURL":"https://example.com",
        "htmlPageBase64":"PCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+...",
        "proxyType":"http",
        "proxyAddress":"your_proxy_address",
        "proxyPort":1234,
        "proxyLogin":"your_proxy_login",
        "proxyPassword":"your_proxy_password"
    }
}

Esempio di risposta#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "cf_clearance": "abc123def456...",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
  },
  "createTime": 1701234567890,
  "endTime": 1701234567890
}

Importante: Il cookie cf_clearance è legato a tre fattori che devono TUTTI corrispondere quando utilizzi il cookie per accedere al sito web di destinazione:

  • Impronta TLS: Devi utilizzare un'impronta TLS di Windows Chrome versione 136 o successiva.
  • Indirizzo IP: Devi utilizzare lo stesso indirizzo IP del proxy utilizzato durante la risoluzione.
  • User-Agent: Devi utilizzare esattamente la stringa user-agent restituita nella risposta della soluzione.
Se uno qualsiasi di questi tre fattori (impronta TLS, indirizzo IP, User-Agent) non corrisponde, il sito web di destinazione restituirà comunque un errore 403 Forbidden.

Codice di esempio#

import requests
import time
 
CLIENT_KEY = "YOUR_CLIENT_KEY"
WEBSITE_URL = "https://example.com"
PROXY_TYPE = "http"
PROXY_ADDRESS = "your_proxy_address"
PROXY_PORT = 1234
PROXY_LOGIN = "your_proxy_login"
PROXY_PASSWORD = "your_proxy_password"
 
# Step 1: Create task
# Auto Fetch Mode (without htmlPageBase64)
# For sites that always return 403 regardless of IP
task_data = {
    "clientKey": CLIENT_KEY,
    "task": {
        "type": "TurnstileTask",
        "websiteURL": WEBSITE_URL,
        "proxyType": PROXY_TYPE,
        "proxyAddress": PROXY_ADDRESS,
        "proxyPort": PROXY_PORT,
        "proxyLogin": PROXY_LOGIN,
        "proxyPassword": PROXY_PASSWORD
    }
}
 
# Manual Mode: add htmlPageBase64 to the task
# For sites that only return 403 for certain IPs
# task_data["task"]["htmlPageBase64"] = "PCFET0NUWVBFIGh0bWw+..."
 
response = requests.post(
    "https://api.nextcaptcha.com/createTask",
    json=task_data
)
result = response.json()
task_id = result["taskId"]
 
# Step 2: Poll for result
while True:
    time.sleep(3)
    response = requests.post(
        "https://api.nextcaptcha.com/getTaskResult",
        json={
            "clientKey": CLIENT_KEY,
            "taskId": task_id
        }
    )
    result = response.json()
    if result["status"] == "ready":
        cf_clearance = result["solution"]["cf_clearance"]
        user_agent = result["solution"]["userAagent"]
        print(f"cf_clearance: {cf_clearance}")
        print(f"userAagent: {userAgent}")
        break
    elif result["status"] == "failed":
        print(f"Task failed: {result.get('errorDescription')}")
        break
 
# Step 3: Use the cookie with matching TLS, IP, and User-Agent
# IMPORTANT: TLS fingerprint must be Chrome 136+
# IMPORTANT: Must use the same proxy IP and returned user-agent
session = requests.Session()
session.cookies.set("cf_clearance", cf_clearance, domain=".example.com")
session.headers.update({"User-Agent": user_agent})
session.proxies = {
    "https": f"http://{PROXY_LOGIN}:{PROXY_PASSWORD}@{PROXY_ADDRESS}:{PROXY_PORT}"
}
response = session.get(WEBSITE_URL)
print(f"Status: {response.status_code}")

Link correlati#