UNLOCK API

Cloudflare Turnstile सॉल्विंग API

API को Cloudflare Turnstile टास्क भेजें और वह जवाब पाएं जो आपका कोड पेज पर सबमिट करता है। पेज URL और site key, साथ में action और cData अगर विजेट में हों। आपको मिलता है: cf-turnstile-response के लिए token।

एक नज़र में

प्रति 1,000 कीमत
$0.55 ($0.00055 प्रति टास्क)
createTask type
TurnstileTaskProxyless, TurnstileTask
in.php method
turnstile
आप भेजते हैं
पेज URL और site key, साथ में action और cData अगर विजेट में हों
आपको मिलता है
cf-turnstile-response के लिए token

वैल्यू कहां मिलेंगी

site key Turnstile एलिमेंट पर data-sitekey में होती है। अगर विजेट data-action या data-cdata सेट करता है, तो उन्हें action और data के रूप में भेजें।

createTask और getTaskResult

टास्क बनाएं, करीब 5 सेकंड रुकें, फिर हर 5 सेकंड में नतीजा चेक करें जब तक status ready न हो जाए। अगर टास्क फेल होता है, तो API एरर लौटाता है और चार्ज आपके बैलेंस में वापस आ जाता है।

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

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"]["token"])
        break

in.php और res.php

वही टास्क, क्लासिक फॉर्म API के साथ। JSON जवाब के लिए json=1 जोड़ें। इसके बिना जवाब सादे टेक्स्ट में आते हैं, जैसे: OK|1001

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