UNLOCK API
Cloudflare Turnstile

Cloudflare Turnstile

createTask या in.php से UNLOCK API को Cloudflare Turnstile टास्क कैसे भेजें: टास्क टाइप के नाम, हर पैरामीटर, solution ऑब्जेक्ट, proxy फील्ड और 7 भाषाओं में कोड उदाहरण।
कीमत
$0.55 $0.00055 प्रति टास्क
आप भेजते हैं
पेज URL और site key, साथ में action और cData अगर विजेट में हों
आपको मिलता है
cf-turnstile-response के लिए token

ओवरव्यू और कीमत

टास्क टाइप के नाम

बिना proxy के हल करने के लिए पहला नाम इस्तेमाल करें। अपने proxy से हल करने के लिए दूसरा नाम इस्तेमाल करें और proxy फील्ड जोड़ें। कीमत वही है।
TurnstileTaskProxylessबिना प्रॉक्सी
TurnstileTaskआपके प्रॉक्सी से

ये भी स्वीकार होते हैं: AntiTurnstileTaskProxyless

टास्क ऑब्जेक्ट

type
Stringज़रूरी
टास्क टाइप का नाम। किसी भी letter case में मिलाया जाता है। TurnstileTaskProxyless | TurnstileTask
websiteURL
Stringज़रूरी
उस पेज का पूरा एड्रेस जहां CAPTCHA दिखता है, http:// या https:// से शुरू।
websiteKey
Stringज़रूरी
CAPTCHA विजेट की site key, पेज सोर्स में मिलती है (जैसे data-sitekey)।
action
Stringवैकल्पिक
विजेट के action पैरामीटर की वैल्यू, अगर पेज उसे सेट करता है।
data
Stringवैकल्पिक
विजेट के cData पैरामीटर की वैल्यू, अगर पेज उसे सेट करता है।
pagedata
Stringवैकल्पिक
chlPageData पैरामीटर की वैल्यू, अगर पेज उसे सेट करता है।
userAgent
Stringवैकल्पिक
हल करते समय इस्तेमाल होने वाला ब्राउज़र User-Agent। जवाब सबमिट करते समय वही भेजें।

जो फील्ड यहां नहीं दिए गए, वे जैसे भेजे गए वैसे ही सॉल्वर को दिए जाते हैं।

Proxy फील्ड

सिर्फ proxy वाले टाइप नाम के लिए। अलग-अलग फील्ड भेजें या एक proxy स्ट्रिंग।
proxyType
Stringज़रूरी
http, https, socks4 या socks5।
proxyAddress
Stringज़रूरी
Proxy का IP एड्रेस या होस्ट नाम।
proxyPort
Integerज़रूरी
Proxy पोर्ट।
proxyLogin
Stringवैकल्पिक
Proxy यूज़र नेम, अगर proxy को चाहिए।
proxyPassword
Stringवैकल्पिक
Proxy पासवर्ड, अगर proxy को चाहिए।
proxy
String
सभी proxy फील्ड एक स्ट्रिंग में, जैसे http://user:pass@1.2.3.4:8080।

Proxy का इस्तेमाल

रिक्वेस्ट

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

Solution ऑब्जेक्ट

status ready होने पर solution में लौटाया जाता है।
token
String
पेज फॉर्म के साथ सबमिट करने वाला token।
userAgent
String
हल करते समय इस्तेमाल हुआ User-Agent। token सबमिट करते समय वही इस्तेमाल करें।
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
}

कोड उदाहरण

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 फॉर्म मेथड

वही टास्क क्लासिक फॉर्म रिक्वेस्ट से। res.php जवाब टेक्स्ट के रूप में लौटाता है।
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"}

फॉर्म API: in.php और res.php