
Rajinder Singh
Deep Learning Researcher
प्रकाशित Jul 11, 2023
अद्यतन Dec 01, 2025 · मिनट पढ़ने का समय

flowToken होता है, तो AntiBotdeflectorTaskProxyLess का उपयोग करें; असिंक्रोनस परिणाम solution.token में वापस किया जाता है।VisionEngine का उपयोग करें और module: "botdeflector" केवल एक दृश्य चुनौती के लिए करें जो फ्रंटग्राउंड और बैकग्राउंड छवियां प्रदान करती हैं; इस अनुरोध में सीधे आकृति स्थिति के लिए समाधान बिंदु वापस किया जाता है।websiteURL और domain बॉटडिफ्लेक्टर के अलग-अलग क्षेत्र हैं और अलग-अलग होस्टनाम हो सकते हैं। अधिकृत ब्राउज़र सत्र से दोनों को एकत्र करें।Queue-it वर्चुअल वेटिंग रूम टिकट जारी, उत्पाद लॉन्च और सीमित भंडार घटनाओं जैसे ट्रैफिक शिखर में पहुंच को नियंत्रित करता है। वर्तमान एकीकरणों में उपयोग किए जाने वाले CAPTCHA चरण अकेले अक्षरों वाली छवि से अधिक हैं: BotDeflector एक चुनौती प्रवाह प्रदान करता है जिसमें या तो टोकन परिणाम या दृश्य बिंदु आवश्यक हो सकते हैं।
इस अपडेट किए गए गाइड में CapSolver के साथ दोनों समर्थित मार्गों की व्याख्या की गई है। टोकन मार्ग एक अंतर्निहित flowToken के लिए डिफ़ॉल्ट एकीकरण है; जब ब्राउज़र अनुरूप फ्रंटग्राउंड और बैकग्राउंड छवियां प्रदान करता है, तो VisionEngine मार्ग लागू होता है। CapSolver के CAPTCHA API डॉक्यूमेंटेशन गाइड उभयनिष्ठ कार्य जीवन चक्र और त्रुटि मॉडल की व्याख्या करता है।
वर्तमान Queue-it वर्कफ़्लो को एक स्वतंत्र OCR फॉर्म के बजाय BotDeflector के रूप में मॉडल किया जाना चाहिए। एक BotDeflector चुनौती सत्र-बाउंड इनपुट के साथ होती है, और अपेक्षित आउटपुट एकीकरण मार्ग पर निर्भर करता है:
| मार्ग | CapSolver कार्य | आवश्यक चुनौती डेटा | परिणाम |
|---|---|---|---|
| टोकन मोड | AntiBotdeflectorTaskProxyLess |
websiteURL, domain, flowToken |
solution.token के बाद पॉलिंग |
| दृश्य स्वीकृति मोड | VisionEngine के साथ module: "botdeflector" |
image, imageBackground, websiteURL |
createTask उत्तर में solution.points |
इन मोड को आदान-प्रदान नहीं किया जा सकता है। टोकन मोड flowToken के लिए Base64 छवि के रूप में स्थानापन्न नहीं स्वीकार करता है, जबकि दृश्य स्वीकृति मोड अंतिम BotDeflector टोकन वापस नहीं करता है। अपने अधिकृत ब्राउज़र सत्र में चुनौती के कार्यान्वयन की जांच करें और उस मार्ग का चयन करें जो वहां उपलब्ध डेटा के साथ मेल खाता है।
Queue-it के ट्रैफिक वेटिंग रूम और CAPTCHA सॉल्वर अलग-अलग अनुरोध बफर का उपयोग करते हैं। वेटिंग रूम एक भ्रमणकर्ता के आगे बढ़ने के समय का निर्धारण करता है, जबकि CapSolver API चुनौती कार्य को प्रक्रिया करता है। अनुरोध बफर शब्दावली एप्लिकेशन क्यूइंग और API कार्य पॉलिंग के बीच अंतर के लिए उपयोगी पृष्ठभूमि प्रदान करता है।
कार्य बनाने से पहले निम्नलिखित तैयार करें:
domain और वर्तमान flowToken जो एक ही ब्राउज़र सत्र से एकत्र किए गए हैं।https://api.capsolver.com पर जीएसएन अनुरोध भेजने में सक्षम एक HTTP क्लाइंट।उत्पादन API कुंजी को स्रोत कोड में सीधे न रखें। उदाहरण YOUR_API_KEY, FLOW_TOKEN_FROM_PAGE और उदाहरण डोमेन के रूप में स्थानापन्न के रूप में उपयोग किए जाते हैं।
टोकन मोड AntiBotdeflectorTaskProxyLess का उपयोग करता है, फिर getTaskResult के माध्यम से पॉलिंग करता है जब तक कि CapSolver solution.token के साथ solution.token नहीं लौटाता है। क्षेत्र के नाम और उत्तर के आकार वर्तमान BotDeflector टोकन-मोड डॉक्यूमेंटेशन के अनुसार होते हैं।
एक ही अधिकृत ब्राउज़र सत्र से इन मानों को एकत्र करें:
websiteURL: BotDeflector चुनौती चल रहे पूर्ण पृष्ठ URL।domain: उस चुनौती द्वारा आवश्यक बॉटडिफ्लेक्टर डोमेन।flowToken: BotDeflector प्रवाह द्वारा उत्पन्न वर्तमान चुनौती टोकन।domain को सिर्फ websiteURL के होस्टनाम के रूप में न मानें। आधिकारिक कार्य परिभाषा इन्हें अलग इनपुट के रूप में व्यवहार करती है, और वे एक ही डोमेन नाम का उपयोग नहीं कर सकते हैं।
एकत्रित मानों को createTask में भेजें:
curl --request POST 'https://api.capsolver.com/createTask' \
--header 'Content-Type: application/json' \
--data '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "AntiBotdeflectorTaskProxyLess",
"websiteURL": "https://queue.example.com/waitingroom/",
"domain": "challenge.example.net",
"flowToken": "FLOW_TOKEN_FROM_PAGE"
}
}'
सफल बनाने के उत्तर में एक कार्य पहचानकर्ता होता है:
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
कार्य पहचानकर्ता संग्रहित करने से पहले errorId की जांच करें। यदि कार्य बनाना विफल रहता है, तो errorCode और errorDescription को रिकॉर्ड किए बिना API कुंजी या पूर्ण चुनौती टोकन के बिना लॉग करें।
वापस किए गए कार्य पहचानकर्ता को getTaskResult में भेजें:
curl --request POST 'https://api.capsolver.com/getTaskResult' \
--header 'Content-Type: application/json' \
--data '{
"clientKey": "YOUR_API_KEY",
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}'
जब तक उत्तर की स्थिति processing नहीं होती, पॉलिंग करते रहें। यदि API शून्य के बराबर errorId या असफल स्थिति लौटाता है, तो तुरंत बंद कर दें। जब कार्य तैयार हो जाता है, तो solution.token से टोकन पढ़ें:
{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006",
"status": "ready",
"solution": {
"token": "BOTDEFLECTOR_TOKEN"
}
}
उसी Queue-it ब्राउज़र सत्र द्वारा उपयोग किए गए BotDeflector एकीकरण बिंदु पर वापस किए गए टोकन को पास करें। flowToken के एकत्रीकरण और परिणाम के लागू करने के बीच कोई नई ब्राउज़र सत्र न बनाएं। सत्र बदलाव, नेविगेशन या चुनौती रीफ्रेश करना सत्र को अमान्य कर सकता है और एक नया कार्य आवश्यक हो सकता है।
ठीक डिस्प्ले या जमा बिंदु आपके परीक्षण कर रहे Queue-it एम्बेडिंग के अंतर्गत होता है। एक वैश्विक सेलेक्टर के बजाय अपने अप्लिकेशन एम्बेडिंग से इसे एकत्र करें।
CapSolver बोनस कोड के साथ लाभ उठाएं
अपने ऑटोमेशन बजट को तुरंत बढ़ाएं!
CapSolver खाता में भरते समय बोनस कोड CAP26 का उपयोग करें ताकि प्रत्येक भरती पर 5% बोनस मिले — कोई सीमा नहीं।
अपने CapSolver डैशबोर्ड में अभी बोनस कोड का उपयोग करें
निम्नलिखित उदाहरण एक BotDeflector कार्य बनाता है, सीमित समय सीमा के साथ पॉलिंग करता है और solution.token लौटाता है। यह वास्तविक flowToken के बजाय स्थानापन्न चुनौती मानों का उपयोग करता है क्योंकि एक वास्तविक flowToken आपके अधिकृत ब्राउज़र सत्र से आना चाहिए।
import os
import time
import requests
API_BASE = "https://api.capsolver.com"
API_KEY = os.environ["CAPSOLVER_API_KEY"]
def solve_botdeflector(website_url, domain, flow_token, timeout=120):
create_response = requests.post(
f"{API_BASE}/createTask",
json={
"clientKey": API_KEY,
"task": {
"type": "AntiBotdeflectorTaskProxyLess",
"websiteURL": website_url,
"domain": domain,
"flowToken": flow_token,
},
},
timeout=30,
)
create_response.raise_for_status()
created = create_response.json()
if created.get("errorId"):
raise RuntimeError(
f"createTask failed: {created.get('errorCode')} - "
f"{created.get('errorDescription')}"
)
task_id = created["taskId"]
deadline = time.monotonic() + timeout
while time.monotonic() < deadline:
time.sleep(2)
result_response = requests.post(
f"{API_BASE}/getTaskResult",
json={"clientKey": API_KEY, "taskId": task_id},
timeout=30,
)
result_response.raise_for_status()
result = result_response.json()
if result.get("errorId"):
raise RuntimeError(
f"getTaskResult failed: {result.get('errorCode')} - "
f"{result.get('errorDescription')}"
)
if result.get("status") == "ready":
return result["solution"]["token"]
if result.get("status") == "failed":
raise RuntimeError("BotDeflector task failed")
raise TimeoutError(f"BotDeflector task {task_id} exceeded {timeout}s")
token = solve_botdeflector(
website_url="https://queue.example.com/waitingroom/",
domain="challenge.example.net",
flow_token="FLOW_TOKEN_FROM_PAGE",
)
print(token)
पर्यावरण चर, अनुरोध नियंत्रण और पुन: उपयोग करने योग्य क्लाइंट संरचना के बारे में अधिक जानकारी के लिए Python CAPTCHA API एम्बेडिंग गाइड देखें।
जब चुनौती बॉटडिफ्लेक्टर अंग्रेजी अंग्रेजी अंग्रेजी के लिए आवश्यक दृश्य संसाधन प्रदान करती है, तो केवल VisionEngine का उपयोग करें। इस मार्ग के लिए फ्रंटग्राउंड image और imageBackground स्वीकार करता है, फिर प्रारंभिक createTask उत्तर में क्लिक स्थिति लौटाता है।
अनुरोध type: "VisionEngine" और module: "botdeflector" का उपयोग करता है:
curl --request POST 'https://api.capsolver.com/createTask' \
--header 'Content-Type: application/json' \
--data '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "VisionEngine",
"module": "botdeflector",
"image": "BASE64_FOREGROUND_IMAGE",
"imageBackground": "BASE64_BACKGROUND_IMAGE",
"websiteURL": "https://queue.example.com/waitingroom/"
}
}'
वर्तमान VisionEngine डॉक्यूमेंटेशन के अनुसार, इस कार्य अपने आप में स्वीकृति डेटा लौटाता है; इसके लिए अलग getTaskResult अनुरोध की आवश्यकता नहीं होती है। एक सफल उत्तर के रूप में निम्न आकार होता है:
{
"errorId": 0,
"errorCode": "",
"errorDescription": "",
"status": "ready",
"solution": {
"points": [[123, 88], [244, 84], [174, 70]]
},
"taskId": "TASK_ID"
}
वापस किए गए बिंदुओं को उसी निर्देशांक अंतराल में दृश्य चुनौती पर लागू करें जिसमें छवियां भेजी गई थीं। छवियों को बिना आकार बदले भेजें और उनके समान आकार के साथ बिंदुओं को लागू करें। ब्राउज़र ऑटोमेशन द्वारा उत्पन्न डिवाइस-पिक्सेल-अनुपात स्केलिंग, सीएसएस आकार बदलाव या अलग आकार वाले स्क्रीनशॉट के कारण लक्ष्य स्थितियां गलत अंतराल में हो सकती हैं।
VisionEngine स्वीकृति चरण का निपटारा करता है; यह आसपास के ब्राउज़र स्थिति प्रबंधन को बदल नहीं देता है। यदि पृष्ठ बाद में टोकन बदलाव की अपेक्षा करता है, तो उस बदलाव को उसी अधिकृत सत्र में जारी रखें।
सुनिश्चित करें कि flowToken वर्तमान है और एक ही पृष्ठ सत्र से संबंधित है। इसके अलावा, सुनिश्चित करें कि websiteURL और domain को एक ही होस्टनाम से बनाया गया है। सीमित पॉलिंग का उपयोग करें और एपीआई त्रुटि पर लूप के बजाय रुकें।
एक अस्वीकृत टोकन आमतौर पर चुनौती इनपुट के एकत्रीकरण के बाद पृष्ठ स्थिति बदल गई होने के कारण होता है। कुकीज, ब्राउज़र सत्र, URL और चुनौती स्थिति स्थिर रखें जब तक परिणाम लागू नहीं हो जाता है। यदि चुनौती रीफ्रेश हो जाती है, तो एक नया flowToken एकत्र करें और एक नया कार्य बनाएं।
मूल चुनौती छवियां बिना आकार बदले भेजें, और उनके समान आकार के साथ बिंदुओं को लागू करें। जांचें कि क्या आपके ब्राउज़र ऑटोमेशन डिवाइस-पिक्सेल-अनुपात स्केलिंग, सीएसएस आकार बदलाव या कटा हुआ स्क्रीनशॉट शामिल करता है।
स्थानीय और CI परिवेशों में ब्राउज़र संस्करण, व्यूपोर्ट सेटिंग्स, समय, कुकीज और गोपनीयता उपलब्धता की तुलना करें। अधिक विस्तृत परीक्षण सूची के लिए, ऑटोमेटेड QA में CAPTCHA हैंडलिंग देखें।
Queue-it और BotDeflector ऑटोमेशन केवल अपने प्रणाली, आप चलाने वाले QA परिवेश या साइट मालिक द्वारा विशेष अनुमति द्वारा ऑटोमेट किए गए वर्कफ़्लो के लिए उपयोग करें। एक CAPTCHA-सॉल्विंग API साइट के शर्तों, अनुमति, दर सीमा या सुरक्षा आवश्यकताओं को अधिकृत नहीं करता है।
परीक्षण आवश्यकता सीमित रखें, अनुमोदित परीक्षण के बिना उच्च मांग वाले सार्वजनिक घटनाओं में भाग न लें, और केवल न्यूनतम निदान डेटा लॉग करें। API कुंजी, कुकीज, flowToken मान और वापस किए गए टोकन को गोपनीयता के रूप में विचार करें और इन्हें स्क्रीनशॉट, विश्लेषण और लंबे समय तक लॉग में शामिल न करें।
Queue-it CAPTCHA नियंत्रण के लिए अब BotDeflector-जागरूक एम्बेडिंग की आवश्यकता होती है। AntiBotdeflectorTaskProxyLess का उपयोग सत्र टोकन प्रवाह के लिए करें और परिणाम को solution.token से पढ़ें; VisionEngine का उपयोग केवल जब चुनौती फ्रंटग्राउंड और बैकग्राउंड छवियां प्रदान करती है, तो botdeflector मॉड्यूल के साथ करें।
मुख्य कार्यान्वयन नियम चुनौती एकत्रीकरण से परिणाम प्रस्तुत करने तक मूल ब्राउज़र सत्र को संरक्षित रखना है। अधिकृत Queue-it परीक्षण के लिए, CapSolver एक ही कार्य API के माध्यम से दोनों दस्तावेज़ी BotDeflector मार्ग प्रदान करता है।
प्रश्न: Queue-it BotDeflector टोकन मोड के लिए मैं कौन सा कार्य प्रकार उपयोग करूं?
websiteURL, domain और वर्तमान flowToken होने पर AntiBotdeflectorTaskProxyLess का उपयोग करें। getTaskResult के माध्यम से पॉलिंग करें और solution.token से पूर्ण मान पढ़ें।
प्रश्न: Queue-it BotDeflector टोकन मोड के लिए CAPTCHA छवि आवश्यक है?
नहीं। टोकन-मोड कार्य पृष्ठ URL, BotDeflector डोमेन और flowToken का उपयोग करता है। यदि चुनौती अनुरूप फ्रंटग्राउंड छवि और पृष्ठभूमि छवि प्रदान करती है, तो अलग VisionEngine मार्ग का उपयोग करें।
प्रश्न: मैं कब VisionEngine botdeflector मॉड्यूल का उपयोग करूं?
VisionEngine का उपयोग module: "botdeflector" के साथ दृश्य स्वीकृति चरण के लिए करें जो image और imageBackground प्रदान करता है। API createTask उत्तर में सीधे solution.points लौटाता है।
प्रश्न: बॉटडिफ्लेक्टर डोमेन क्यों अलग हो सकता है?
बॉटडिफ्लेक्टर websiteURL और domain को अलग कार्य क्षेत्र के रूप में परिभाषित करता है, इसलिए चुनौती सेवा दृश्य Queue-it पृष्ठ के अलग होस्टनाम का उपयोग कर सकती है। एकत्रित एम्बेडिंग से दोनों मान एकत्र करें।
Q: क्या मैं एक वापस किए गए BotDeflector टोकन का दूसरे ब्राउजर सत्र में पुन: उपयोग कर सकता हूँ?
पुन: उपयोग की अपेक्षा न करें। चुनौती इनपुट के उत्पादन में भाग लेने वाले समान अधिकृत ब्राउजर प्रवाह में टोकन का उपयोग करें; यदि पृष्ठ या चुनौती फिर से लोड हो जाती है, तो नए इनपुट कैप्चर करें और एक नया कार्य बनाएं।
Q: क्या स्वचालित Queue-it CAPTCHA निपटान अनुमत है?
यह केवल तभी उचित है जब आपके पास प्रणाली का मालिक हो या इसका परीक्षण या स्वचालन के लिए स्पष्ट अनुमति हो। साइट की शर्तों, पहुँच नियंत्रण, अनुक्रम नीतियों, दर सीमाओं और लागू कानून का सम्मान करें।

Rajinder Singh
Deep Learning Researcher
Making CAPTCHA solving more reliable in automated workflows.
लेखक के बारे में
Node.js में एक छवि कैप्चा हल करें दस्तावेजीकृत ImageToTextTask अनुरोध, स्थानीय बेस 64 एन्कोडिंग, सीधे टेक्स्ट परिणाम और एक छोटा परीक्षित क्लायंट के साथ।

ImageToTextTask और VisionEngine की तुलना कैप्चा इनपुट, पहचान आउटपुट, मॉड्यूल की आवश्यकताएं और एप्लिकेशन जांच के आधार पर करें जब तक एक सॉल्वर टास्क चुनने से पहले नहीं।

CAPTCHA सॉल्वर पॉलिंग या वेबहुक्स चुनें कार्य स्थिति, प्राप्तकर्ता की आवश्यकताएं, परिणाम ताजगी, और दस्तावेज़ीकृत CapSolver API पूर्णता प्रवाह के उपयोग करके।

सीखें कैसे Selenium CAPTCHA एकीकरण में कुंजियों, सेशन, लॉग्स और परीक्षण वातावरण को सुरक्षित करें, अधिकृत स्वचालन के लिए व्यावहारिक समीक्षा जांच के साथ।
