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

Cloudflare: चुनौती को हल करना

टिप

टास्क को createTask मेथड से बनाएं और getTaskResult मेथड से परिणाम प्राप्त करें।

ध्यान दें
  • प्रॉक्सी आवश्यक है, कृपया रोटेटिंग प्रॉक्सी के बजाय स्टैटिक प्रॉक्सी या स्टिकी प्रॉक्सी का उपयोग करें।
  • कस्टम userAgent समर्थित है, कृपया इसे उसी के समान रखें जिसका आप उपयोग कर रहे हैं।
  • यदि आप समाधान प्राप्त करने में विफल रहते हैं, तो हो सकता है कि आपका आईपी ब्लॉक हो गया हो, कृपया अपना प्रॉक्सी बदलने का प्रयास करें।
  • लक्ष्य वेबसाइट का अनुरोध करने के लिए आपको TLS अनुरोध लाइब्रेरी का उपयोग करना होगा।

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

  • AntiCloudflareTask

टास्क बनाएं

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

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

प्रॉपर्टीज़टाइपआवश्यकविवरण
typeस्ट्रिंगआवश्यकAntiCloudflareTask
websiteURLस्ट्रिंगआवश्यकलक्ष्य पेज का पता।
proxyस्ट्रिंगआवश्यकआपका स्टैटिक प्रॉक्सी या स्टिकी प्रॉक्सी। प्रॉक्सी का उपयोग कैसे करें जानें
userAgentस्ट्रिंगवैकल्पिकलक्ष्य वेबसाइट का अनुरोध करने के लिए आपके द्वारा उपयोग किया गया user-agent। केवल क्रोम का userAgent समर्थित है
htmlस्ट्रिंगवैकल्पिकलक्ष्य वेबसाइट का अनुरोध करने का रिस्पॉन्स, इसमें आमतौर पर “Just a moment…” और स्टेटस कोड 403 होता है। कुछ वेबसाइटों को HTML की आवश्यकता होती है।

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

POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AntiCloudflareTask",
    "websiteURL": "https://www.yourwebsite.com",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",
    "html": "<!DOCTYPE html><html lang=\"en-US\"><head><title>Just a moment...</title>...",
    "proxy": "ip:port:user:pass"
  }
}

उदाहरण रिस्पॉन्स

{
  "errorId": 0,
  "status": "idle",
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca"
}
 

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

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

वेबसाइट और प्रॉक्सी के आधार पर, आपको 2s से 20s के अंतराल के भीतर परिणाम मिलेंगे

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

POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca"
}

उदाहरण रिस्पॉन्स

{
  "errorId": 0,
  "taskId": "df944101-64ac-468d-bc9f-41baecc3b8ca",
  "status": "ready",
  "errorCode": "",
  "errorDescription": "",
  "solution": {
    "cookies": {
        "cf_clearance": "Bcg6jNLzTVaa3IsFhtDI.e4_LX8p7q7zFYHF7wiHPo...uya1bbdfwBEi3tNNQpc"
    },
    "token": "Bcg6jNLzTVaa3IsFhtDI.e4_LX8p7q7zFYHF7wiHPo...uya1bbdfwBEi3tNNQpc",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"
  }
}

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

# pip install --upgrade capsolver
# export CAPSOLVER_API_KEY='...'
 
import capsolver
 
# capsolver.api_key = "..."
solution = capsolver.solve({
  "type": "AntiCloudflareTask",
  "websiteURL": "https://www.yourwebsite.com",
  "proxy": "ip:port:user:pass"
})

नमूना कोड

# pip install requests
import requests
import time
 
api_key = "YOUR_API_KEY"  # your api key of capsolver
 
def capsolver():
    payload = {
        "clientKey": api_key,
        "task": {
            "type": "AntiCloudflareTask",
            "websiteURL": "https://www.yourwebsite.com",
            "proxy": "ip:port:user:pass"
        }
    }
    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", {})
        if status == "failed" or resp.get("errorId"):
            print("Solve failed! response:", res.text)
            return
 
token = capsolver()
print(token)