गाइड
कार्य(टोकन)
Cloudflare Turnstile

क्लाउडफ्लेयर: टर्नस्टाइल को हल करना

TIP

createTask विधि से कार्य बनाएं और getTaskResult विधि से परिणाम प्राप्त करें।

DANGER

ℹ️turnstile प्रकार को प्रॉक्सी की आवश्यकता नहीं होती है, इसलिए आप केवल AntiTurnstileTaskProxyLess का उपयोग करें

टर्नस्टाइल कैप्चा रीकैप्चा को बदलने का एक और प्रयास है। हम स्वचालित रूप से इन उपप्रकारों का समर्थन करते हैं:

  • turnstile
    • मैन्युअल रूप से
    • गैर-इंटरैक्टिव
    • अदृश्य

अपनी कॉल के दौरान उपप्रकारों को निर्दिष्ट करने की कोई आवश्यकता नहीं है। अभी तक अपना कस्टम User-Agent प्रदान करना आवश्यक नहीं है, हम इस पैरामीटर को अनदेखा कर देंगे।

कार्य प्रकार type इस प्रकार है

  • AntiTurnstileTaskProxyLess

कार्य बनाएं

createTask के साथ कार्य बनाएं।

टर्नस्टाइल का उपयोग करने की प्रक्रिया में, हमें websiteURL और websiteKey दर्ज करना होगा, अन्य पैरामीटर वैकल्पिक हैं।

कार्य ऑब्जेक्ट संरचना

गुणप्रकारआवश्यकविवरण
typeStringआवश्यकAntiTurnstileTaskProxyLess
websiteURLStringआवश्यकलक्ष्य पृष्ठ का पता।
websiteKeyStringआवश्यकटर्नस्टाइल वेबसाइट कुंजी।
metadataMap<String,String>वैकल्पिकटर्नस्टाइल अतिरिक्त डेटा। टर्नस्टाइल दस्तावेज़
metadata.actionStringवैकल्पिकयदि यह मौजूद है तो टर्नस्टाइल तत्व के data-action विशेषता का मान।
metadata.cdataStringवैकल्पिकयदि यह मौजूद है तो टर्नस्टाइल तत्व के data-cdata विशेषता का मान।

उदाहरण अनुरोध

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AntiTurnstileTaskProxyLess",
    "websiteURL": "https://www.yourwebsite.com",
    "websiteKey": "0x4XXXXXXXXXXXXXXXXX",
    "metadata": {
       "action": "login",  //optional
       "cdata": "0000-1111-2222-3333-example-cdata"  //optional
    }
  }
}

उदाहरण प्रतिक्रिया

{
  "errorId": 0,
  "status": "idle",
  "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"   // record taskId
}
 

परिणाम प्राप्त करना

पहचान परिणाम प्राप्त करने के लिए getTaskResult विधि का उपयोग करें

सिस्टम लोड के आधार पर, आपको 1s से 20s के अंतराल के भीतर परिणाम मिलेंगे

उदाहरण अनुरोध

POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

उदाहरण प्रतिक्रिया

{
  "errorId": 0,
  "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006",
  "status": "ready",
  "errorCode": null,
  "errorDescription": null,
  "solution": {
    "token": "0.mF74FV8wEufAWOdvOak_xFaVy3lqIDel7SwNhw3GgpICSWwTjYfrQB8mRT1dAJJBEoP7N1sESdp6WH9cTS1T0catWLecG3ayNcjwxVtr3hWfS-dmcBGRTx4xYwI64sAVboYGpIyuDBeMIRC3W8dK35v1nDism9xa595Da5VlXKM7hk7pIXg69lodfiftasIkyD_KUGkxBwxrrmz7dBo10-Y5zvro9hD4QKRjOx7DYj9sumnkyYCDx0m4ImDIIkNswfVTWI2V22wlnpHdvMgdtKYgOIIAU28y9gtdrdDkpkH0GHcDyd15sxQGd9VjwhGZA_mpusUKMsEoGgst2rJ3zA.UWfZupqLlGvlATkPo3wdaw.38d55cd0163610d8ce8c42fcff7b62d8981495cc1afacbb2f14e5a23682a4e13",
    "type": "turnstile",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"
  }
}

SDK अनुरोध का उपयोग करें

# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
 
import capsolver
 
# capsolver.api_key = "..."
solution = capsolver.solve({
  "type": "AntiTurnstileTaskProxyLess",
  "websiteURL": "https://www.yourwebsite.com",
  "websiteKey": "0x4XXXXXXXXXXXXXXXXX",
  "metadata": {
	 "action": "login"  # optional
  }
})

नमूना कोड

# pip install requests
import requests
import time
 
api_key = "YOUR_API_KEY"  # your api key of capsolver
site_key = "0x4XXXXXXXXXXXXXXXXX"  # site key of your target site
site_url = "https://www.yourwebsite.com"  # page url of your target site
 
def capsolver():
    payload = {
        "clientKey": api_key,
        "task": {
            "type": 'AntiTurnstileTaskProxyLess',
            "websiteKey": site_key,
            "websiteURL": site_url,
            "metadata": {
                "action": ""  # optional
            }
        }
    }
    res = requests.post("https://api.capsolver.com/createTask", json=payload)
    resp = res.json()
    task_id = resp.get("taskId")
    if not task_id:
        print("Failed to create task:", res.text)
        return
    print(f"Got taskId: {task_id} / Getting result...")
 
    while True:
        time.sleep(1)  # delay
        payload = {"clientKey": api_key, "taskId": task_id}
        res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
        resp = res.json()
        status = resp.get("status")
        if status == "ready":
            return resp.get("solution", {}).get('token')
        if status == "failed" or resp.get("errorId"):
            print("Solve failed! response:", res.text)
            return
 
token = capsolver()
print(token)