Scarnox · Blog

GeeTest captcha explained: यह कैसे काम करता है और इसे कैसे solve करें

GeeTest एक captcha vendor है जिसके widgets visitor से एक visual काम करवाते हैं: puzzle piece को gap में खींचना, दिए गए क्रम में icons पर क्लिक करना, या एक छोटी slider हरकत पूरी करना। यह e-commerce sites, login pages और कई क्षेत्रों के app backends पर आम है। यह उन captcha परिवारों में से भी है जिन्हें Scarnox अभी solve नहीं करता। यह guide समझाती है कि GeeTest कैसे काम करता है, उसे automate करना token-based widget से कठिन क्यों है, लोग आम तौर पर कौन-से तरीके अपनाते हैं, और आज Scarnox support कहाँ है।

GeeTest page पर क्या करता है

GeeTest captcha आम तौर पर तीन चरणों में लोड होता है:

  1. Page GeeTest script शामिल करता है और एक captcha ID के साथ widget बनाता है। कई integrations में वह ID gt नाम के parameter में पास होती है।
  2. Widget GeeTest server से एक ताज़ा challenge माँगता है। Challenge में एक challenge value और वे images या tile positions होते हैं जो puzzle के लिए चाहिए।
  3. जब visitor काम पूरा कर लेता है, तो widget नतीजा site को वापस भेजता है। फिर site का backend form स्वीकार करने से पहले उस नतीजे को captcha vendor के साथ verify करता है।

तीसरा चरण सबसे अहम है। ठीक दिखने वाली value काफ़ी नहीं है, क्योंकि server एक ऐसे नतीजे की जाँच करता है जो एक challenge से बँधा हो और expire होता हो। इसीलिए किसी दूसरे session से कॉपी की गई value फ़ेल होती है, और पुराने नतीजे को दोबारा चलाना काम नहीं करता।

GeeTest token widget से कठिन क्यों है

PopularCaptcha में page को एक token string चाहिए, और एक request वह string लौटा देती है। GeeTest तीन तरीकों से अलग है:

इसीलिए GeeTest solving एक बहु-चरणीय काम है: challenge लाना, image में targets ढूँढना, एक हरकत बनाना, उसे submit करना और फ़ैसला पढ़ना। हर चरण फ़ेल हो सकता है, और चरणों के बीच ज़्यादा इंतज़ार करने पर challenge expire हो जाता है।

आम तरीके

जो लोग GeeTest pages को automate करते हैं, वे आम तौर पर इन तीन में से एक तरीका अपनाते हैं। इनमें से कोई शॉर्टकट नहीं है, और हर एक की अपनी लागत है:

जो भी चुनें, दायरा ईमानदारी से रखें: अपने flows, ऐसे test environments जिन्हें इस्तेमाल करने की अनुमति है, या ऐसा public data जिसे इकट्ठा करने की अनुमति है, उसी पर automation करें।

Captcha ID ढूँढना

शुरू करने के लिए आपको code की ज़रूरत नहीं। DevTools खोलें, page रीलोड करें और Network tab में geetest या gt खोजें। Widget लोड करने वाली पहली request आम तौर पर captcha ID दिखाती है। एक छोटी script उसे रिकॉर्ड कर सकती है, जो तब उपयोगी है जब आप यह पता लगाना चाहें कि कोई page अपना widget कब बदलता है:

import re
import requests

html = requests.get("https://example.com/login", timeout=30).text
match = re.search(r"gt['\"]?\s*[:=]\s*['\"]([a-f0-9]{32})['\"]", html)
print("captcha id:", match.group(1) if match else "not found")

ऊपर का pattern gt के पास 32-अक्षर वाले hexadecimal मान को खोजता है। Vendors अपना markup बदलते रहते हैं, इसलिए इसे शुरुआती बिंदु मानें, और आउटपुट को उस page से मिलाकर जाँचें जिसे आप टेस्ट कर रहे हैं।

Scarnox support कहाँ है

किसी प्रोजेक्ट की योजना बनाते समय इस पर साफ़ रहें:

अगर आपके प्रोजेक्ट को अभी GeeTest चाहिए, तो व्यावहारिक रास्ता है browser और image वाले चरण खुद बनाना, उन pages के लिए जिन्हें आप टेस्ट करने के लिए अधिकृत हैं, और अपने code को API पर स्विच करने के लिए तैयार रखना जब support आए। तब तक आप खाता बनाएँ और मुफ़्त ट्रायल क्रेडिट से शुरू करें, कार्ड की ज़रूरत नहीं। इससे आपके पास टेस्ट करने के लिए एक काम करता PopularCaptcha flow होगा, और बाद में GeeTest जोड़ने की जगह भी। मौजूदा दरों के लिए मौजूदा pricing देखें।

वैध उपयोग

Captcha automation का इस्तेमाल fake accounts बनाने, login form पर हमला करने या सीमित stock खरीदने के लिए न करें। ऐसे उपयोग अधिकांश sites के नियम तोड़ते हैं और Scarnox इन्हें support नहीं करता।

अगले कदम