UNLOCK API
Cloudflare Turnstile

Cloudflare Turnstile

createTask veya in.php ile UNLOCK API'ye Cloudflare Turnstile görevi gönderme: görev türü adları, tüm parametreler, solution nesnesi, proxy alanları ve 7 dilde kod örnekleri.
Fiyat
$0.55 Görev başına $0.00055
Gönderdiğiniz
Sayfa URL'si ve site anahtarı, widget'ta varsa action ve cData
Aldığınız
cf-turnstile-response için token

Genel bakış ve fiyat

Görev türü adları

Proxy olmadan çözmek için ilk adı kullanın. Kendi proxy'niz üzerinden çözmek için ikinci adı kullanın ve proxy alanlarını ekleyin. Fiyat aynıdır.
TurnstileTaskProxylessProxy olmadan
TurnstileTaskKendi proxy'nizle

Bunlar da kabul edilir: AntiTurnstileTaskProxyless

Görev nesnesi

type
StringZorunlu
Görev türü adı. Büyük/küçük harf fark etmez. TurnstileTaskProxyless | TurnstileTask
websiteURL
StringZorunlu
CAPTCHA'nın göründüğü sayfanın http:// veya https:// ile başlayan tam adresi.
websiteKey
StringZorunlu
CAPTCHA widget'ının site anahtarı, sayfa kaynağında bulunur (örneğin data-sitekey).
action
Stringİsteğe bağlı
Sayfa ayarlıyorsa widget'ın action parametresinin değeri.
data
Stringİsteğe bağlı
Sayfa ayarlıyorsa widget'ın cData parametresinin değeri.
pagedata
Stringİsteğe bağlı
Sayfa ayarlıyorsa chlPageData parametresinin değeri.
userAgent
Stringİsteğe bağlı
Çözme sırasında kullanılacak tarayıcı User-Agent'ı. Yanıtı gönderirken aynısını kullanın.

Burada listelenmeyen alanlar, gönderildiği gibi çözücüye iletilir.

Proxy alanları

Yalnızca proxy'li tür adı için. Alanları ayrı ayrı veya tek bir proxy dizesi olarak gönderin.
proxyType
StringZorunlu
http, https, socks4 veya socks5.
proxyAddress
StringZorunlu
Proxy IP adresi veya ana bilgisayar adı.
proxyPort
IntegerZorunlu
Proxy bağlantı noktası.
proxyLogin
Stringİsteğe bağlı
Proxy gerektiriyorsa proxy kullanıcı adı.
proxyPassword
Stringİsteğe bağlı
Proxy gerektiriyorsa proxy parolası.
proxy
String
Tüm proxy alanları tek bir dizede, örneğin http://user:pass@1.2.3.4:8080.

Proxy kullanımı

İstek

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "TurnstileTaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "0x4AAAAAAAC3DHQFLr1GavRN"
  }
}

solution nesnesi

status ready olduğunda solution içinde döndürülür.
token
String
Sayfa formuyla gönderilecek token.
userAgent
String
Çözme sırasında kullanılan User-Agent. Token'ı gönderirken aynısını kullanın.
POST /getTaskResult
{
  "errorId": 0,
  "taskId": 1001,
  "status": "ready",
  "solution": {
    "token": "0.zrSnRHO7h0HwSjSCU8oyzbjEtD8p...",
    "userAgent": "Mozilla/5.0 ..."
  },
  "cost": "0.00055",
  "createTime": 1791640000,
  "endTime": 1791640014,
  "solveCount": 1
}

Kod örnekleri

import time, requests

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

task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
      "type": "TurnstileTaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "0x4AAAAAAAC3DHQFLr1GavRN"
    }
}).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"]["token"])
        break
else:
    raise SystemExit("timed out")

in.php form yöntemi

Aynı görev, klasik form isteğiyle. res.php yanıtı metin olarak döndürür.
in.php, res.php
curl -s "https://unlock-api.com/in.php" -d "key=YOUR_API_KEY&method=turnstile&sitekey=SITE_KEY&pageurl=https://example.com/login&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"}

Form API: in.php ve res.php