TurnstileTask#


Cloudflare 403 सुरक्षा पेजों को बायपास करने के लिए प्रॉक्सी-आधारित समाधान विधि।
cf_clearance कुकी और मिलान करने वाली user-agent स्ट्रिंग लौटाता है जिसका उपयोग Cloudflare-संरक्षित पेजों तक पहुंचने के लिए किया जा सकता है जो 403 Forbidden त्रुटियां लौटाते हैं।
कीमत: $1.0/K

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

नामप्रकारआवश्यकविवरण
typeStringहाँTurnstileTask
websiteURLStringहाँCloudflare 403 सुरक्षा पेज का पूरा URL
htmlPageBase64Stringनहीं403 पेज के पूर्ण HTML सामग्री का Base64-एन्कोडेड। वैकल्पिक - यदि प्रदान नहीं किया गया, तो सिस्टम आपके प्रॉक्सी के माध्यम से स्वचालित रूप से पेज प्राप्त करेगा (ऑटो फेच मोड)।
proxyTypeStringहाँप्रॉक्सी प्रकार: `http`, `socks4`, `socks5`
proxyAddressStringहाँप्रॉक्सी सर्वर आईपी पता या होस्टनाम
proxyPortIntegerहाँप्रॉक्सी पोर्ट
proxyLoginStringनहींएजेंट लॉगिन
proxyPasswordStringनहींएजेंट पासवर्ड

मोड 1: ऑटो फेच#

जब htmlPageBase64 प्रदान नहीं किया जाता है, तो सिस्टम आपके प्रॉक्सी के माध्यम से 403 पेज को स्वचालित रूप से प्राप्त करता है। इस मोड का उपयोग तब करें जब लक्ष्य वेबसाइट विज़िटर के IP पते की परवाह किए बिना हमेशा 403 पेज लौटाती है।

मोड 2: मैनुअल HTML सबमिशन#

जब htmlPageBase64 प्रदान किया जाता है, तो आप 403 पेज के HTML सामग्री को कैप्चर करें, इसे base64 में एन्कोड करें और अनुरोध में भेजें। इस मोड का उपयोग तब करें जब लक्ष्य वेबसाइट केवल कुछ IP पतों के लिए 403 पेज दिखाती है।

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

एपीआई समापन बिंदु: https://api.nextcaptcha.com/createTask

तरीका: POST

सामग्री प्रकार: application/json

मोड 1: ऑटो फेच#

{
    "clientKey":"api key",
    "task": {
        "type":"TurnstileTask",
        "websiteURL":"https://example.com",
        "proxyType":"http",
        "proxyAddress":"your_proxy_address",
        "proxyPort":1234,
        "proxyLogin":"your_proxy_login",
        "proxyPassword":"your_proxy_password"
    }
}

मोड 2: मैनुअल HTML सबमिशन#

{
    "clientKey":"api key",
    "task": {
        "type":"TurnstileTask",
        "websiteURL":"https://example.com",
        "htmlPageBase64":"PCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+...",
        "proxyType":"http",
        "proxyAddress":"your_proxy_address",
        "proxyPort":1234,
        "proxyLogin":"your_proxy_login",
        "proxyPassword":"your_proxy_password"
    }
}

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

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "cf_clearance": "abc123def456...",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
  },
  "createTime": 1701234567890,
  "endTime": 1701234567890
}

महत्वपूर्ण: cf_clearance कुकी तीन कारकों से बंधी है जो लक्ष्य वेबसाइट तक पहुंचने के लिए कुकी का उपयोग करते समय सभी मेल खाने चाहिए:

  • TLS फिंगरप्रिंट: आपको Windows Chrome संस्करण 136 या नए का TLS फिंगरप्रिंट उपयोग करना होगा।
  • IP पता: आपको वही प्रॉक्सी IP पता उपयोग करना होगा जो समाधान के दौरान उपयोग किया गया था।
  • User-Agent: आपको समाधान प्रतिक्रिया में लौटाई गई सटीक user-agent स्ट्रिंग का उपयोग करना होगा।
यदि इन तीन कारकों (TLS फिंगरप्रिंट, IP पता, User-Agent) में से कोई भी मेल नहीं खाता, तो लक्ष्य वेबसाइट अभी भी 403 Forbidden त्रुटि लौटाएगी।

नमूना कोड#

import requests
import time
 
CLIENT_KEY = "YOUR_CLIENT_KEY"
WEBSITE_URL = "https://example.com"
PROXY_TYPE = "http"
PROXY_ADDRESS = "your_proxy_address"
PROXY_PORT = 1234
PROXY_LOGIN = "your_proxy_login"
PROXY_PASSWORD = "your_proxy_password"
 
# Step 1: Create task
# Auto Fetch Mode (without htmlPageBase64)
# For sites that always return 403 regardless of IP
task_data = {
    "clientKey": CLIENT_KEY,
    "task": {
        "type": "TurnstileTask",
        "websiteURL": WEBSITE_URL,
        "proxyType": PROXY_TYPE,
        "proxyAddress": PROXY_ADDRESS,
        "proxyPort": PROXY_PORT,
        "proxyLogin": PROXY_LOGIN,
        "proxyPassword": PROXY_PASSWORD
    }
}
 
# Manual Mode: add htmlPageBase64 to the task
# For sites that only return 403 for certain IPs
# task_data["task"]["htmlPageBase64"] = "PCFET0NUWVBFIGh0bWw+..."
 
response = requests.post(
    "https://api.nextcaptcha.com/createTask",
    json=task_data
)
result = response.json()
task_id = result["taskId"]
 
# Step 2: Poll for result
while True:
    time.sleep(3)
    response = requests.post(
        "https://api.nextcaptcha.com/getTaskResult",
        json={
            "clientKey": CLIENT_KEY,
            "taskId": task_id
        }
    )
    result = response.json()
    if result["status"] == "ready":
        cf_clearance = result["solution"]["cf_clearance"]
        user_agent = result["solution"]["userAagent"]
        print(f"cf_clearance: {cf_clearance}")
        print(f"userAagent: {userAgent}")
        break
    elif result["status"] == "failed":
        print(f"Task failed: {result.get('errorDescription')}")
        break
 
# Step 3: Use the cookie with matching TLS, IP, and User-Agent
# IMPORTANT: TLS fingerprint must be Chrome 136+
# IMPORTANT: Must use the same proxy IP and returned user-agent
session = requests.Session()
session.cookies.set("cf_clearance", cf_clearance, domain=".example.com")
session.headers.update({"User-Agent": user_agent})
session.proxies = {
    "https": f"http://{PROXY_LOGIN}:{PROXY_PASSWORD}@{PROXY_ADDRESS}:{PROXY_PORT}"
}
response = session.get(WEBSITE_URL)
print(f"Status: {response.status_code}")

संबंधित लिंक#