close menu
सपोर्टेड टास्क टाइप
API विधियाँ
आर्टिकल
GitHub icon
GitHub
Menu

AntiGate टास्क के माध्यम से किसी भी कैप्चा को कैसे भेदें

एंटीगेट टास्क ट्यूटोरियल का एक नया वीडियो संस्करण यहाँ उपलब्ध है।

वर्षों के अनुसंधान और विकास के बाद हम पेश करना चाहेंगे एक ऐसा यूनिवर्सल समाधान, जो इंसानों द्वारा बनाए गए कैप्चा गेट्स में से निकलने में करेगा आपके रोबॉट्स की मदद। इसे हम "AntiGate" कहते हैं और ये वे सिनेरियो टेम्पलेट हैं, जिनका इस्तेमाल हमारे असली कर्मचारी सटीक टास्क पूरा करने के लिए करते हैं।

एक निश्चित समय पर आपकी ऐप को किसी नयी तरह की कैप्चा, अस्पष्ट ब्राउज़र स्क्रिप्ट, या फ़िर किसी और चीज़ वाली "गेटवे" ऑटोमेशन सुरक्षा मिलती है। यहीं पर AntiGate टास्क काम में आती हैं। किसी असली, हाड़-मांस के इंसान द्वारा संचालित ब्राउज़र सेशन को निर्मित करने का काम आप हमारे किसी कर्मचारी को जो सौंप देते हैं।
  • सबसे पहले किसी टेम्पलेट का चयन कर लें। आप किसी मौजूदा टेम्पलेट का उपयोग भी कर सकते हैं अथवा अपना खुद का टेम्पलेट भी बना सकते हैं। एक टेम्पलेट कर्मचारियों द्वारा कार्यान्वित किए जाने वाले चरण-दर-चरण निर्देशों का एक सेट होता है।
  • उसके बाद टेम्पलेट की आवश्यकतानुसार अतिरिक्त डेटा मुहैया कराएँ, जैसे कि भरे जाने वाले किसी इनपुट की वैल्यू, किसी इनपुट का CSS सिलेक्टर, या फ़िर हमारे द्वारा नेविगेट किया जाने वाला वेब पता। टेम्पलेट के बारे में हम कुछ ही देर में थोड़ी और विस्तार से बात करेंगे।
  • तीसरा व वैकल्पिक – प्रॉक्सियां। इनकी ज़रूरत आपको तब पड़ती है, जब कोई वेबसाइट सेशन की हर कुकी को किसी सटीक IP पते के साथ जोड़कर देखती है।
इन तीनों के होने पर, आप हमारे एपीआई के साथ एक कार्य बनाते हैं। एक कार्यकर्ता हमारे विशेष ब्राउज़र प्लगइन के साथ आपकी वेबसाइट पर नेविगेट करता है और सभी परिदृश्य चरणों को मैन्युअल रूप से या स्वचालित रूप से निष्पादित करता है। और स्क्रिप्ट के अंत में, हम उनके सभी ब्राउज़र सत्र की जानकारी जैसे कि कुकीज़, लोकलस्टोरेज मान, ब्राउज़र फ़िंगरप्रिंट ले लेते हैं और इसे आपके ऐप पर वापस भेज देते हैं। हमारे कार्यकर्ता सत्र को पुनर्स्थापित करने और संचालन जारी रखने के लिए इस डेटा का उपयोग करना आपके लिए बाकी है जैसे कि यह एक मानव उपयोगकर्ता था। अब, यह कितना आश्चर्यजनक है? :)

AntiGate टेम्पलेट क्या होते हैं?

एक AntiGate टेम्पलेट उस सटीक सिनेरियो को परिभाषित करता है, जिससे हमारे कर्मचारियों को गुज़रना चाहिए। टेम्पलेट में कुछ चरण शामिल होते हैं, जिन्हें क्रमानुसार कार्यान्वित किया जाता है। किसी एक चरण के पूरा हो जाने पर कर्मचारी अगले चरण पर बढ़ जाता है। सभी चरणों के पूरा हो जाने पर टास्क समाप्त हो जाती है व कर्मचारी के सेशन का स्नैपशॉट लेकर उसे वापिस आपकी ऐप में भेज दिया जाता है।

उसमें किस तरह के चरण शामिल होते हैं?
  • किसी टेक्स्ट इनपुट फील्ड को ऑटोमैटिकली या मैन्युअली भर दें।
  • पेज पर टेक्स्ट सैंपल के दिखाई देने (या गायब हो जाने) का इंतज़ार करें।
  • CSS द्वारा परिभाषित किसी DOM एलिमेंट के पेज में दिखाई देने (या गायब हो जाने) का इंतज़ार करें।
  • कर्मचारी के मौजूदा ब्राउज़र URL पते में कीवर्ड के दिखाई देने (या गायब हो जाने) का इंतज़ार करें।
टेम्पलेट का "कर्मचारियों के लिए विवरण" वाला टेक्स्ट फील्ड उन बाकी के चरणों की भी व्याख्या कर सकता है, जिनकी आपको किसी कर्मचारी से अपेक्षा है। उदाहरण के तौर पर: "किसी कैप्चा को हल कर सबमिट बटन दबा दें"।
चलिए एक उदाहरण पर नज़र डालते हैं। टेस्टिंग के लिए निःशुल्क टेम्पलेट बनाने के लिए डेवलपर सेंटर चले जाएँ। आप बेफ़िक्र रहे, ऐसा करने से कोई नुकसान नहीं होगा!
टेम्पलेट जोड़ने के लिए क्लिक करें
किसी उदाहरण को लोड करने के लिए क्लिक करें
चरणों वाले सेक्शन को देख लें
आपने किसी प्रदर्शन वाले उदाहरण को लोड किया है। आप इसे अपने एकाउंट में सेव कर इसे बाद में खुद टेस्ट करके देख सकते हैं। आइए टेम्पलेट विशेषताओं की समूची सूची से आपका परिचय कराते हैं:
  • टेम्पलेट नाम. एक बार सहेजने के बाद, इसे संशोधित नहीं किया जा सकता. एक बार जब आप इसे प्रकाशित कर देते हैं, तो आपका टेम्प्लेट इसी नाम से एपीआई में उपलब्ध हो जाता है।
  • ग्राहकों के लिए विवरण। सार्वजानिक टेम्पलेट हमारी टेम्पलेट सूची में उपलब्ध हैं।
  • श्रमिकों के लिए विवरण. यह वह पाठ है जिसे हमारे कार्यकर्ता पृष्ठ के शीर्ष पर देखते हैं।
    कर्मचारियों के इंटरफ़ेस का उदाहरण
  • चर. यह वेरिएबल नामों की एक सूची है जिन्हें आप स्थायी मानों के बजाय चरणों में उपयोग के लिए जोड़ सकते हैं। इस उदाहरण में, हमारे पास 2 वेरिएबल हैं, "लॉगिन" और "पासवर्ड"। इन 2 का उपयोग प्रदर्शन साइन-इन फॉर्म भरने के लिए चरण 1 और 2 में किया जाता है। इस तरह, आप टेम्पलेट में स्थायी लॉगिन और पासवर्ड को हार्डकोड करने के बजाय एपीआई के माध्यम से ये मान प्रदान कर सकते हैं।
    पहले और दूसरे चरणों में इस्तेमाल किए गए वेरिएबल
  • कार्यकर्ता के कदम. यहां आप परिदृश्य चरणों के क्रम को संपादित और बदल सकते हैं। हमारे उदाहरण में, हम निम्नलिखित कार्य करते हैं:
    1. टेक्स्ट फील्ड को CSS सिलेक्टर "#login" से ऑटोमैटिकली भर दें। टेक्स्ट फील्ड की वैल्यू को "लॉगइन" वेरिएबल के माध्यम से परिभाषित किया जाता है।
    2. टेक्स्ट फील्ड को CSS सिलेक्टर "#password" से ऑटोमैटिकली भर दें। टेक्स्ट फील्ड की वैल्यू को "पासवर्ड" वेरिएबल के माध्यम से परिभाषित किया जाता है।
    3. पेज पर किसी कण्ट्रोल टेक्स्ट के दिखाई देने का इंतज़ार करें। इसे स्थायी तौर पर "लॉगइन कर टेस्ट पास किया" पर सेट किया हुआ है।

अब आप टेम्पलेट को सेव कर सकते हैं, जिसके बाद वह आपके डेवलपर सेंटर में दिखाई दे जाएगा। गौरतलब है कि इसका "सैंडबॉक्स" स्टेटस होता है, जिसका मतलब है कि यह केवल आपके लिए उपलब्ध होता है और API में उपलब्ध नहीं होता है। अब आप अपने नये-नवेले टेम्पलेट को कुछ इस तरह टेस्ट करके देख सकते हैं जैसे आप अपने ही कर्मचारी हों।

टेस्टिंग टेम्पलेट

अब आपको Chrome ब्राउज़र का इस्तेमाल करना होगा। हम आपको इस ब्राउज़र में एक नयी यूज़र प्रोफाइल बनाने का सुझाव देंगे, क्योंकि वहाँ हमें अपना एक ऐसा प्लगइन इनस्टॉल करना होगा, जो आपकी प्रोफाइल की कूकीज़ को एक्सेस कर सके।
कर्मचारियों के इंटरफ़ेस का उदाहरण
अब अपने टेम्पलेट कार्ड पर "test" बटन दबा दें।
निर्देशों का पालन करें और अपने प्लेटफ़ॉर्म के लिए प्लगइन डाउनलोड करें। फिर, इसे प्रभावी बनाने के लिए पृष्ठ को पुनः लोड करें, "लॉगिन" और "पासवर्ड" चर को कुछ यादृच्छिक मानों से भरें और "लॉन्च टेस्ट" बटन दबाएं। एक नया पेज खुलना चाहिए जो इस तरह दिखेगा:

एड्रेस बार के पास एक नीले रंग की बार होती है, जिसे प्लगइन लक्षित पेज के ऊपर जोड़ देता है। इसी के माध्यम से कर्मचारियों को अपने असाइनमेंट के बारे में पता चलता है व वे अपनी टास्क को कार्यान्वित कर पाते हैं।

साथ ही, गौरतलब है कि लॉगइन और पासवर्ड वाले फील्ड में वेरिएबल भरते समय वे छिपे रहते हैं। ऐसा जानबूझकर किया जाता है। हालांकि डेवलपर के कंसोल के माध्यम से कर्मचारियों के पास टास्क डेटा का पूरा-पूरा एक्सेस होता है, उनमें से 99.99% को इस बात से कोई फ़र्क ही नहीं पड़ता कि पर्दे के पीछे आख़िर चल क्या रहा है।
reCAPTCHA हल करने के बाद "साइन इन" वाला बटन दबा दें। टेम्पलेट का अंतिम चरण "WAIT_CONTROL_TEXT_PRESENT" पास हो जाता है। प्लगइन "लॉगइन के साथ टेस्ट पास हुआ " कण्ट्रोल फ्रेज़ की खोज करता है, जिसे स्थायी रूप से आपके टेम्पलेट में परिभाषित किया गया होता है। टैब अपने आप ही बंद हो जाता है व सेशन का स्नैपशॉट नतीजों वाले फील्ड में प्रदर्शित हो जाता है।
नतीजों का उदाहरण

इसी स्नैपशॉट डेटा को API से भी प्राप्त किया जा सकता है। लेकिन अपने टेम्पलेट को API में उपलब्ध कराने के लिए पहले हमें उसे पब्लिश करना होता है।

पब्लिशिंग टेम्पलेट

किसी टेम्पलेट को प्रकाशित करते समय आपके पास 2 विकल्प होते हैं: उसे निजी रखना या सार्वजानिक बनाना।
  • निजी टेम्पलेट केवल आपकी API कुंजी के साथ ही उपलब्ध होते हैं। अन्य ग्राहक उनका इस्तेमाल नहीं कर सकते। उन्हें नवीनीकृत कर उनका प्रकाशन करने की लागत: 1 डॉलर।
  • सार्वजानिक टेम्पलेट सभी के लिए उपलब्ध होते हैं। इस टेम्पलेट के माध्यम से प्रत्येक ग्राहक द्वारा ख़र्च की गई धनराशि का 5 प्रतिशत हिस्सा आपको मिल जाता है। आपके टेम्पलेट में कोई गड़बड़ आ जाने की स्थिति में हमारे ग्राहकों की मदद हेतु आपको कुछ संपर्क जानकारी मुहैया करानी होगी। समीक्षा कर प्रकाशन करने की लागत: 1 डॉलर।
हम हरेक टेम्पलेट की अच्छे से समीक्षा करते हैं। उत्पादन मोड में सफलतापूर्वक स्विच करने के लिए आपको कुछ बुनियादी बातों का ध्यान रखना होगा:
  • वह किसी तरह की कोई भी गैरकानूनी गतिविधि नहीं होनी चाहिए।
  • टेम्पलेट को मौजूदा टेम्पलेट की नक़ल कर नहीं बनाया जाना चाहिए।
  • डमी या टेस्ट टेम्पलेट जमा न करें।
  • समीक्षा के लिए नमूने के तौर पर कोई वेब पता एवं कुछ वेरिएबल वैल्यू मुहैया कराएँ। हम एक टेस्ट लॉन्च करेंगे, जिसके दौरान सभी चरण सफलतापूर्वक पूरे हो जाने चाहिए।

API अनुरोध

ऊपर दिए AntiGate टेम्पलेट के लिए API को भेजे जाने वाला टास्क निर्माण अनुरोध दिखने में इतना सरल-सा होगा:

curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"AntiGateTask",
            "websiteURL":"https://anti-captcha.com/demo/?page=recaptcha_v2_textarea",
            "templateName":"Demo sign-in at anti-captcha.com #123456",
            "variables": {
                "login":"some value",
                "password":"some value"
            }
        }
}' https://api.anti-captcha.com/createTask

यानी कि आप टेम्पलेट भरने के लिए "templateName" और "variables" मानदंडों को स्किप कर जाते हैं।

टास्क नतीजों का इस्तेमाल करते हुए

सफलतापूर्वक पूरी की गईं AntiGate टास्क उस समाधान पर वापिस ले जाती हैं जिसमें "cookies", "localStorage", "fingerprint" और "url" शामिल हैं। आपके सॉफ़्टवेयर को इस अनुरोध में "कुकीज़" का उपयोग करके "यूआरएल" पर नेविगेट करना होगा, और ब्राउज़र के उपयोगकर्ता-एजेंट के लिए कम से कम "फिंगरप्रिंट.सेल्फ.नेविगेटर.यूजरएजेंट" मान का उपयोग करना होगा। अधिक जटिल वेबसाइटें महत्वपूर्ण डेटा को लोकलस्टोरेज में संग्रहीत करती हैं, जो कुकीज़ का एक प्रकार का आधुनिक संस्करण है। इस मामले में आपको किसी भी जावास्क्रिप्ट को वास्तव में चलाने से पहले इस डेटा को पेज पर इंजेक्ट करना होगा। इन्हें कठपुतली जैसे विकास परिवेश में किया जा सकता है। यह विषय संभवतः एक अन्य लेख का हकदार है।

आपके अपने टेम्पलेट बनाते हुए

उदाहरण वाले टेम्पलेट को लोड किए बगैर उपर्युक्त चरणों का पालन करें। सभी डिटेल्स को अच्छी तरह भरते हुए चरणों को सावधानीपूर्वक जोड़ दें। गौरतलब है कि सभी चरणों को क्रमानुसार कार्यान्वित किया जाता है। प्लगइन अगले चरण के कार्यान्वयन की तब तक अनुमति नहीं देगा, जब तक कि मौजूदा चरण पूरा न हो जाए। अपने टेम्पलेट को आप कभी भी सेव कर उसे कर्मचारी के ब्राउज़र प्लगइन के साथ टेस्ट कर सकते हैं।

मूल्य निर्धारण

इस समय हम शुल्क को $2 प्रति 1000 टास्क पर निर्धारित कर देते हैं। इसके अतिरिक्त, टास्क क्रियान्वयन के हर सेकंड में टास्क शुल्क के साठवें हिस्से की लागत आती है। उदाहरण के तौर पर टास्क में $0.002 की लागत आती है व उसे हल करने में कर्मचारी को 20 सेकंड का समय लगा।
अंतिम शुल्क $0.00266 = 0.002 + (0.002 / 60 * 20) होगा।