उत्पादएकीकरणसंसाधनदस्तावेजीकरणमूल्य निर्धारण
अभी शुरू करें

© 2026 CapSolver. All rights reserved.

हमसे संपर्क करें

Slack: lola@capsolver.com

उत्पाद

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • ब्राउज़र एक्सटेंशन
  • अधिक कैप्चा प्रकार

एकीकरण

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • साझेदार
  • सभी एकीकरण देखें

संसाधन

  • रेफरल प्रोग्राम
  • दस्तावेजीकरण
  • API संदर्भ
  • ब्लॉग
  • FAQ
  • शब्दावली
  • स्थिति

कानूनी

  • सेवा की शर्तें
  • गोपनीयता नीति
  • धनवापसी नीति
  • मेरी व्यक्तिगत जानकारी न बेचें
ब्लॉग/aws waf/हाउ टू सॉल्व एवीएस कैप्चा / चुनौती पायथन के साथ
Sep20, 2023

हाउ टू सॉल्व एवीएस कैप्चा / चुनौती पायथन के साथ

Rajinder Singh

Rajinder Singh

Deep Learning Researcher

परिचय

क्या आपके वेब स्क्रैपिंग या ऑटोमेशन कार्य एक ऐसे अटक जैसे AWS WAF (वेब एप्लिकेशन फायरवॉल) द्वारा रोके जा रहे हैं? बहुत से विकासकर्ताओं के लिए यह एक आम चुनौती है। AWS WAF एमेजॉन द्वारा डिज़ाइन किया गया एक शक्तिशाली सुरक्षा सेवा है जो वेबसाइटों को सामान्य वेब हमलों और बुरे बॉट्स से बचाने के लिए डिज़ाइन किया गया है। यह ट्रैफिक पैटर्न के विश्लेषण के माध्यम से संदिग्ध गतिविधि की पहचान करता है और ब्लॉक करता है, जिसमें जावास्क्रिप्ट चुनौतियां (202 स्थिति कोड वापस करता है) और अधिक जटिल चित्र कैप्चा (405 स्थिति कोड वापस करता है) शामिल हैं।

हालांकि वेबसाइट सुरक्षा के लिए आवश्यक, ये सुरक्षा उपाय वास्तविक ऑटोमेशन स्क्रिप्ट के लिए एक मुख्य बाधा बन सकते हैं। लेकिन, सही उपकरणों के साथ, आप इन सुरक्षा उपायों को सुगमता से बाहर कर सकते हैं। इस गाइड आपको Python और CapSolver के उपयोग के बारे में विस्तृत चरण-दर-चरण दिशा-निर्देश प्रदान करेगा। इससे आप आसानी से aws-waf-token प्राप्त कर सकते हैं, जिससे AWS WAF-सुरक्षित वेबसाइटों तक बिना किसी बाधा के पहुंच प्राप्त कर सकते हैं।

⚙️ पूर्वापेक्षा

शुरू करने से पहले, निम्नलिखित उपकरणों और जानकारी के साथ तैयार रहें:

  • एक कार्यरत प्रॉक्सी: एवएस डब्ल्यूएफ ब्लॉक करने के लिए यह आवश्यक है। खराब आईपी प्रतिष्ठा के कारण ब्लॉक होने से बचने के लिए आईएसपी या आवासीय प्रॉक्सी का उपयोग करने की सलाह दी जाती है।
  • पायथन स्थापित: अपने सिस्टम में पायथन स्थापित होने की जांच करें।
  • CapSolver API कुंजी: अपने API कुंजी के लिए अपने CapSolver डैशबोर्ड से आवश्यकता होगी (साइनअप)।

🤖 चरण 1: आवश्यक पायथन पैकेज स्थापित करें

सबसे पहले, हमें HTTP मांग भेजने और HTML पार्स करने के लिए कुछ महत्वपूर्ण पायथन लाइब्रेरी स्थापित करने की आवश्यकता होगी। अपने टर्मिनल में निम्नलिखित आदेश चलाएं:

bash Copy
pip install capsolver requests beautifulsoup4

👨‍💻 चरण 2: AWS WAF हल करने के लिए पायथन कोड लिखें

निम्नलिखित AWS WAF चुनौतियों और कैप्चा के उपयोग के साथ AWS WAF चुनौतियों के हल करने के लिए पूर्ण पायथन कोड है। यह कोड आधुनिक अभ्यास पर आधारित है, CapSolver आधिकारिक दस्तावेज़ीकरण से, एक स्पष्ट संरचना के साथ है और दो सबसे आम ब्लॉकिंग परिदृश्यों को स्वचालित रूप से संभालता है।

अपडेट किया गया पायथन कोड

python Copy
import capsolver
import requests
from bs4 import BeautifulSoup
import re
from urllib.parse import urlparse

# -------------------कृपया इन मानों को संशोधित करें-------------------
# अपने प्रॉक्सी विवरण, प्रारूप: http://यूजरनाम:पासवर्ड@आईपी:पोर्ट
PROXY = "http://यूजरनाम:पासवर्ड@आईपी:पोर्ट"
# लक्षित वेबसाइट का URL जिसके लिए आप AWS WAF को हल करना चाहते हैं
PAGE_URL = "https://www.आपकी-एवएस-सुरक्षित-वेबसाइट.com"
# CapSolver डैशबोर्ड से अपनी API कुंजी
CAPSOLVER_API_KEY = "अपनी_API_कुंजी"
# ----------------------------------------------------------------

def solve_aws_waf(is_captcha_challenge, **kwargs):
    """
    CapSolver के उपयोग से AWS WAF चुनौति या कैप्चा हल करता है।
    :param is_captcha_challenge: कैप्चा (405 स्थिति कोड) के लिए सही, जावास्क्रिप्ट चुनौति (202 स्थिति कोड) के लिए गलत।
    :param kwargs: हल करने के लिए आवश्यक पैरामीटर।
    :return: समाधान ऑब्जेक्ट, असफलता पर None।
    """
    task_type = "AntiAwsWafTask" if is_captcha_challenge else "AntiAwsWafTaskProxyLess"
    print(f"'{task_type}' कार्य बना रहे हैं...")
    
    task_payload = {
        "type": task_type,
        "websiteURL": PAGE_URL,
    }
    
    # चुनौति प्रकार के आधार पर विशिष्ट पैरामीटर जोड़ें
    if is_captcha_challenge:
        # कैप्चा चुनौतियों के लिए, awsKey, awsIv, awsContext की आवश्यकता होती है
        task_payload.update({
            "awsKey": kwargs.get("awsKey"),
            "awsIv": kwargs.get("awsIv"),
            "awsContext": kwargs.get("awsContext"),
            "awsChallengeJS": kwargs.get("awsChallengeJS"),
            "proxy": PROXY
        })
    else:
        # जावास्क्रिप्ट चुनौतियों के लिए, केवल awsChallengeJS URL की आवश्यकता होती है
        task_payload["awsChallengeJS"] = kwargs.get("awsChallengeJS")

    try:
        solution = capsolver.solve(task_payload)
        if solution and solution.get("errorId", 0) == 0:
            print("समाधान सफलतापूर्वक प्राप्त कर लिया गया!")
            return solution
        else:
            error_desc = solution.get('errorDescription', 'अज्ञात त्रुटि') if solution else 'अज्ञात त्रुटि'
            print(f"कार्य हल करने में असफल: {error_desc}")
            return None
    except Exception as e:
        print(f"CapSolver कॉल करते समय एक अपवाद घटित हुआ: {e}")
        return None

def main():
    """पूरी प्रक्रिया के निष्पादन के लिए मुख्य कार्य।"""
    capsolver.api_key = CAPSOLVER_API_KEY
    session = requests.Session()
    session.proxies = {"http": PROXY, "https": PROXY}
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8",
        "Accept-Language": "en-US,en;q=0.9",
    }

    print(f"प्रयास कर रहे हैं: {PAGE_URL}")
    response = session.get(PAGE_URL, headers=headers)
    print(f"प्राप्त स्थिति कोड: {response.status_code}")

    solution = None
    
    # परिदृश्य 1: AWS जावास्क्रिप्ट चुनौति का प्रबंधन (स्थिति कोड 202)
    if response.status_code == 202:
        print("AWS जावास्क्रिप्ट चुनौति पहचान ली गई।")
        soup = BeautifulSoup(response.content, 'html.parser')
        script_tag = soup.find('script', {'src': re.compile(r'token\.awswaf\.com')})
        if script_tag:
            challenge_js_url = script_tag['src']
            print(f"चुनौति जावास्क्रिप्ट यूआरएल पाया गया: {challenge_js_url}")
            solution = solve_aws_waf(is_captcha_challenge=False, awsChallengeJS=challenge_js_url)
        else:
            print("त्रुटि: AWS चुनौति स्क्रिप्ट नहीं मिली।")

    # परिदृश्य 2: AWS कैप्चा का प्रबंधन (स्थिति कोड 405)
    elif response.status_code == 405:
        print("AWS कैप्चा पहचान ली गई।")
        soup = BeautifulSoup(response.content, 'html.parser')
        script_tag = soup.find('script', {'src': re.compile(r'token\.awswaf\.com')})
        script_text_tag = soup.find('script', string=re.compile('.*key.*'))
        
        if script_tag and script_text_tag:
            challenge_js_url = script_tag['src']
            script_text = script_text_tag.string
            
            key = re.search(r'"key":"(.*?)"', script_text).group(1)
            iv = re.search(r'"iv":"(.*?)"', script_text).group(1)
            context = re.search(r'"context":"(.*?)"', script_text).group(1)
            
            print(f"अनुक्रम निकाले गए: Key={key[:5]}..., IV={iv[:5]}..., Context={context[:5]}...")
            solution = solve_aws_waf(
                is_captcha_challenge=True,
                awsKey=key,
                awsIv=iv,
                awsContext=context,
                awsChallengeJS=challenge_js_url
            )
        else:
            print("त्रुटि: पृष्ठ से सभी आवश्यक कैप्चा पैरामीटर निकालने में असफल।")

    # यदि समाधान सफल रहा, कुकी सेट करें और फिर से मांग करें
    if solution and solution.get("cookie"):
        aws_token = solution["cookie"]
        print(f"सफलतापूर्वक एवएस-वाफ-टोकन प्राप्त किया गया: {aws_token[:30]}...")
        
        domain = f".{urlparse(PAGE_URL).netloc}"
        session.cookies.set("aws-waf-token", aws_token, domain=domain)
        
        print("कुकी सेट कर रहे हैं। फिर से मांग कर रहे हैं...")
        final_response = session.get(PAGE_URL, headers=headers)
        print(f"अंतिम मांग स्थिति कोड: {final_response.status_code}")
        
        if final_response.status_code == 200:
            print("एवएस डब्ल्यूएफ बर्बाद कर दिया गया!")
            # print(final_response.text) # अपने पृष्ठ सामग्री देखने के लिए अनकमेंट करें
        else:
            print("कुकी सेट करने के बाद मांग असफल रही। टोकन या प्रॉक्सी जांचें।")
    else:
        print("एवएस डब्ल्यूएफ बर्बाद करने में असफल। बाहर निकल रहे हैं।")

if __name__ == "__main__":
    main()

⚠️ महत्वपूर्ण चर के लिए बदलाव करें

कोड चलाने से पहले, निम्नलिखित चर के मानों को बदलें:

  • PROXY: अपने प्रॉक्सी सर्वर पता और प्राधिकरण के साथ बदलें। प्रारूप होना चाहिए http://यूजरनाम:पासवर्ड@आईपी:पोर्ट।
  • CAPSOLVER_API_KEY: अपनी API कुंजी को अपने CapSolver डैशबोर्ड में खोजें और अंतर्निहित जानकारी के साथ बदलें।
  • PAGE_URL: एवएस डब्ल्यूएफ से सुरक्षित लक्षित वेबसाइट के URL से बदलें।

निष्कर्ष

पायथन ऑटोमेशन वर्कफ़्लो में CapSolver के एकीकरण के साथ, आप AWS WAF द्वारा उत्पन्न जावास्क्रिप्ट चुनौतियों और कैप्चा को सुगमता से हल कर सकते हैं। इस दृष्टिकोण एक जटिल सत्यापन प्रक्रिया को एक एपीआई कॉल में सरल बनाता है, जिससे आप बॉट-प्रतिरोधी तकनीकों के साथ लगातार लड़ाई में फंसे रहने के बजाय अपने मुख्य व्यावसायिक तर्क पर ध्यान केंद्रित कर सकते हैं। एवएस डब्ल्यूएफ से सुरक्षित साइटों के साथ अंतर करने के लिए किसी भी विकासकर्ता के लिए यह अमूल्य समाधान है।

CapSolver खाता भरने के समय बोनस कोड CAPN का उपयोग करें ताकि प्रत्येक भरोसे में 5% बोनस मिले — कोई सीमा नहीं।
अब अपने CapSolver डैशबोर्ड में इसे एक्सपायर करें

अक्सर पूछे जाने वाले प्रश्न (FAQ)

प्रश्न 1: मुझे प्रॉक्सी क्यों उपयोग करना चाहिए?
उत्तर 1: AWS WAF आईपी पतों के व्यवहार की कड़ी निगरानी करता है। डेटा केंद्रों से या आईपी जो असामान्य रूप से चिह्नित किए गए हैं, उनके अनुरोध आसानी से ब्लॉक कर दिए जाते हैं। एक उच्च गुणवत्ता वाले आवासीय या आईएसपी प्रॉक्सी का उपयोग वास्तविक उपयोगकर्ता के अंतर्निहित व्यवहार के समान होता है और डब्ल्यूएफ को पार करने के सफलता के लिए आवश्यक पहला चरण है।

प्रश्न 2: aws-waf-token की वैधता कितनी होती है?
उत्तर 2: इस टोकन की वैधता बहुत छोटी होती है, शायद केवल कुछ मिनट। जब टोकन समाप्त हो जाता है, आपको फिर से सत्यापन प्रक्रिया चलानी होगी नए टोकन के लिए। अपने एप्लिकेशन में टोकन अद्यतन ताकत डिज़ाइन करना महत्वपूर्ण है।

प्रश्न 3: AntiAwsWafTask और AntiAwsWafTaskProxyLess के बीच क्या अंतर है?
उत्तर 3: AntiAwsWafTask एक कैप्चा हल करने के लिए उपयोग किया जाता है, जिसमें एक पूर्ण ब्राउज़र वातावरण की आवश्यकता होती है (आमतौर पर 405 स्थिति कोड के साथ देखा जाता है) और आपको एक प्रॉक्सी प्रदान करना आवश्यक होता है। AntiAwsWafTaskProxyLess एक सरल जावास्क्रिप्ट चुनौति (202 स्थिति कोड) के लिए उपयोग किया जाता है, जो कैपसॉल्वर के सर्वर पर हल किया जाता है और आपको कोई प्रॉक्सी प्रदान करने की आवश्यकता नहीं होती। हमारा कोड स्थिति कोड के आधार पर उपयुक्त कार्य प्रकार स्वचालित रूप से चुनता है।

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

और देखें

aws wafSep 17, 2025

कैसे हल करें AWS WAF कैप्चा जब वेब स्क्रैपिंग करते हैं: एक संपूर्ण गाइड

कैपसॉल्वर के साथ वेब स्क्रैपिंग में AWS WAF कैप्चा हल करें। कार्यकुशलता में वृद्धि करें, चुनौतियां हल करें और डेटा के सुचारू रूप से प्रवाह करें।

Rajinder Singh
Rajinder Singh
aws wafSep 14, 2023

PHP के साथ AWS कैप्चा / चुनौती कैसे हल करें: एक विस्तृत गाइड

एक विस्तृत PHP गाइड, AWS WAF कैप्चा और चुनौती के समाधान के लिए भरोसेमंद स्क्रैपिंग और स्वचालन के लिए

विषय-सूची

Rajinder Singh
Rajinder Singh
aws wafJul 12, 2023

कैसे हल करें AWS WAF कैप्चा टोकन

यह ब्लॉग बताता है कि आप कैपसॉल्वर के उपयोग के माध्यम से एवम वाईएफ कैप्चा को तेज, सस्ता और आसान तरीके से हल कर सकते हैं।

Rajinder Singh
Rajinder Singh
aws wafNov 29, 2023

AWS कैप्चा कैसे हल करें पुप्पेटीअर [जावास्क्रिप्ट] के साथ कैपसॉल्वर एक्सटेंशन के साथ

एवीएस कैप्चा को बिना किसी समस्या के हल करें सीखें, पुप्पेटीयर और कैप्सॉल्वर एक्सटेंशन के साथ, एक विस्तृत गाइड, कैप्चा समाधानों के स्वचालन और सेटअप करने के बारे में प्रभावी ढंग से।

Rajinder Singh
Rajinder Singh