CAPSOLVER
ब्लॉग
PHP के साथ AWS कैपचा / चुनौती कैसे हल करें

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

Logo of CapSolver

Rajinder Singh

Deep Learning Researcher

10-Dec-2025

TLDR (बहुत लंबा; पढ़ा नहीं)

इस गाइड ने एमेजॉन वेब एप्लिकेशन फ़ायरवॉल (AWS WAF) कैप्चा और चुनौती पृष्ठों को बायपास करने के लिए PHP और CapSolver API के बारे में व्यापक, चरण-दर-चरण गाइड प्रदान करता है। हम एमएस वीएफ द्वारा उत्पन्न कैप्चा (HTTP 405) और चुनौती (HTTP 202) प्रतिक्रियाओं की लॉजिक के बारे में विस्तार से विवरण प्रदान करते हैं, आवश्यक पैरामीटर निकालते हैं, और अंततः प्राप्त किए गए aws-waf-token कुकी का उपयोग सुरक्षित संसाधन तक पहुंच के लिए करते हैं।

परिचय

एमएस वीएफ कैप्चा के बारे में जानकारी लेने के लिए इस विस्तृत गाइड में आपका स्वागत है। वेब बट्स और वेब स्क्रैपर के लिए, कैप्चा के सामना करना एक महत्वपूर्ण बाधा हो सकती है, लेकिन सही साधनों के साथ यह एक प्रबल विवेक के साथ निपटाया जा सकता है।

एमएस वीएफ कैप्चा और चुनौती क्या है?

एमएस वीएफ (वेब एप्लिकेशन फ़ायरवॉल) एक सुरक्षा सेवा है जो वेब एप्लिकेशन की बुनियादी वेब हमलों से रक्षा करती है। यह एक वास्तविक मानव उपयोगकर्ता से आये अनुरोध की पुष्टि करने के लिए दो प्राथमिक कार्रवाई के लिए प्रदान करती है: कैप्चा और चुनौती

एमएस वीएफ कार्य का सारांश

कार्य उद्देश्य HTTP स्थिति कोड आवश्यक समाधान
चुनौती क्लाइंट सत्र के मानक ब्राउज़र होने की पुष्टि करने के लिए एक चुप्पी बैकग्राउंड जांच चलाता है। 202 स्वीकृत टोकन प्राप्त करने के लिए जावास्क्रिप्ट चुनौती हल करना आवश्यक है।
कैप्चा अंत उपयोगकर्ता को एक दृश्य पहेली हल करने के लिए मजबूर करता है ताकि वे मानव होने की पुष्टि कर सकें। 405 विधि अनुमति नहीं है एक विशिष्ट पैरामीटर के निकालने की आवश्यकता होती है।

जब भी कैप्चा या चुनौती सफलतापूर्वक हल कर ली जाती है, एमएस वीएफ एक वैध टोकन जारी करता है, जो aws-waf-token कुकी के मान के रूप में वापस आता है। इस टोकन को सुरक्षित संसाधन तक पहुंच के लिए अगले अनुरोध में शामिल करना आवश्यक है।

🔎 एमएस वीएफ कैप्चा / चुनौती को PHP और CapSolver के साथ हल करें

CapSolver एमएस वीएफ कैप्चा और चुनौती के लिए एक शक्तिशाली API समाधान प्रदान करता है। इस गाइड में हम PHP के cURL लाइब्रेरी का उपयोग करके आवश्यक लॉजिक के लागू करने पर केंद्रित हैं।

📕 आवश्यकताएं

  • PHP (cURL एक्सटेंशन सक्षम होना चाहिए)
  • cURL
  • CapSolver API कुंजी (आप CapSolver से पंजीकरण करके प्राप्त कर सकते हैं)

🛠️ चरण 1: पर्यावरण और सहायक कार्यों की सेटअप

हमारे समाधान का केंद्र दो मुख्य API कॉल हैं: CapSolver के लिए createTask कैप्चा / चुनौती जमा करने के लिए और getTaskResult समाधान प्राप्त करने के लिए।

PHP Copy
<?php

// --- विनिर्देश ---
$PROXY = "http://username:password@host:port"; // वैकल्पिक: अपने प्रॉक्सी विवरण से बदलें (जैसे, AntiAwsWafTask के लिए)
$PAGE_URL = "https://norway-meetup.aws.wslab.no/";  // एमएस वीएफ द्वारा सुरक्षित लक्ष्य URL से बदलें
$CLIENT_KEY = "आपकी भुगतान-प्रति-उपयोग";  // अपने CAPSOLVER API कुंजी से बदलें

/**
 * CapSolver API पर एक कार्य प्रस्तुत करता है।
 * @param array $payload कार्य भेजने के लिए आवश्यक पैरामीटर वाला पेलोड।
 * @return array API प्रतिक्रिया, टास्कआईडी सहित।
 */
function createTask($payload) {
    global $CLIENT_KEY;
    $ch = curl_init();
    echo("कार्य बना रहे हैं...\n");
    curl_setopt($ch, CURLOPT_URL, 'https://api.capsolver.com/createTask');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['clientKey' => $CLIENT_KEY, 'task' => $payload]));
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
    $response = curl_exec($ch);
    curl_close($ch);
    return json_decode($response, true);
}

/**
 * CapSolver API पर कार्य परिणाम के लिए जांच करता है।
 * @param string $taskId जांच करने के लिए कार्य का ID।
 * @return array API प्रतिक्रिया जिसमें समाधान शामिल है।
 */
function getTaskResult($taskId) {
    global $CLIENT_KEY;
    do {
        echo("समाधान की प्रतीक्षा कर रहे हैं...\n");
        sleep(1);
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, 'https://api.capsolver.com/getTaskResult');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['clientKey' => $CLIENT_KEY, 'taskId' => $taskId]));
        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
        $response = curl_exec($ch);
        curl_close($ch);
        $data = json_decode($response, true);
        
        if (isset($data['status']) && $data['status'] == "ready") {
            return $data;
        }
        
        // getTaskResult से त्रुटि के संभावित त्रुटि का निपटारा करें
        if (isset($data['errorId']) && $data['errorId'] != 0) {
            echo("कार्य परिणाम प्राप्त करते समय त्रुटि: " . $data['errorDescription'] . "\n");
            return null;
        }
        
    } while(true);
}

/**
 * उपयुक्त कार्य प्रकार के साथ एमएस वीएफ चुनौती या कैप्चा हल करता है।
 * @param string $taskType CapSolver कार्य प्रकार (AntiAwsWafTask या AwsCaptchaTask)।
 * @param array $params कार्य के लिए आवश्यक पैरामीटर।
 * @return string|null एमएस-वाफ-टोकन कुकी मान या असफलता पर null।
 */
function solveAwsWaf($taskType, $params) {
    global $PAGE_URL, $PROXY;
    
    $payload = [
        'type' => $taskType,
        'websiteURL' => $PAGE_URL,
        'proxy' => $PROXY,
    ];
    
    // कार्य के लिए विशिष्ट पैरामीटर मिश्रित करें
    $payload = array_merge($payload, $params);
    
    // एक साफ अनुरोध के लिए खाली मानों को साफ करें
    $payload = array_filter($payload, function($value) {
        return $value !== "" && $value !== null;
    });

    $taskData = createTask($payload);
    
    if (isset($taskData['taskId'])) {
        $result = getTaskResult($taskData['taskId']);
        if ($result && isset($result['solution']['cookie'])) {
            return $result['solution']['cookie'];
        }
    }
    
    return null;
}

⚡ चरण 2: WAF पहचान और हल करने की लॉजिक के लागू करें

मुख्य लॉजिक एमएस वीएफ द्वारा सुरक्षित पृष्ठ पर एक प्रारंभिक अनुरोध करना और HTTP स्थिति कोड की जांच करना है ताकि यह निर्धारित किया जा सके कि चुनौती (202) या कैप्चा (405) आवश्यक है। फिर हम नियमित अभिव्यक्ति का उपयोग एचटीएमएल प्रतिक्रिया बॉडी से आवश्यक पैरामीटर निकालते हैं।

PHP Copy
// --- मुख्य निष्पादन लॉजिक ---

// 1. सुरक्षित पृष्ठ पर प्रारंभिक अनुरोध
$ch = curl_init($PAGE_URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$cookie = null;

echo("प्रारंभिक HTTP कोड: " . $httpCode . "\n");

if ($httpCode == 202) {
    // --- चुनौती (202) संभालें ---
    echo("चुनौती पहचानी गई (HTTP 202). पैरामीटर निकाल रहे हैं...\n");
    
    // चुनौती.js URL निकालें
    preg_match('/<script src="([^"]*token.awswaf.com[^"]*)"/', $response, $matches);
    $awsChallengeJS = $matches[1] ?? null;
    
    if ($awsChallengeJS) {
        $params = ['awsChallengeJS' => $awsChallengeJS];
        $cookie = solveAwsWaf("AntiAwsWafTask", $params);
    } else {
        echo("त्रुटि: चुनौती के लिए awsChallengeJS नहीं मिला।\n");
    }

} elseif ($httpCode == 405) {
    // --- कैप्चा (405) संभालें ---
    echo("कैप्चा पहचानी गई (HTTP 405). पैरामीटर निकाल रहे हैं...\n");
    
    // पृष्ठ के सामग्री से पैरामीटर निकालें
    preg_match('/<script src="([^"]*token.awswaf.com[^"]*)"/', $response, $matches);
    $awsChallengeJS = $matches[1] ?? null;
    
    preg_match('/"key":"(.*?)"/', $response, $matches);
    $awsKey = $matches[1] ?? null;
    
    preg_match('/"iv":"(.*?)"/', $response, $matches);
    $awsIv = $matches[1] ?? null;
    
    preg_match('/"context":"(.*?)"/', $response, $matches);
    $awsContext = $matches[1] ?? null;
    
    if ($awsKey && $awsIv && $awsContext) {
        $params = [
            'awsKey' => $awsKey,
            'awsIv' => $awsIv,
            'awsContext' => $awsContext,
            'awsChallengeJS' => $awsChallengeJS // वैकल्पिक लेकिन सिफारिश की जाती है
        ];
        // ध्यान दें: दृश्य कैप्चा के लिए कार्य प्रकार अक्सर अभी भी AntiAwsWafTask होता है, 
        // लेकिन आवश्यक पैरामीटर जो CapSolver के पक्ष में समाधान प्रकार निर्धारित करते हैं।
        $cookie = solveAwsWaf("AntiAwsWafTask", $params); 
    } else {
        echo("त्रुटि: कैप्चा के लिए कुंजी, आईवी या संदर्भ पैरामीटर नहीं मिले।\n");
    }
}

// 3. टोकन का उपयोग सुरक्षित संसाधन तक पहुंच के लिए करें
if ($cookie) {
    echo("सफलतापूर्वक एमएस-वाफ-टोकन प्राप्त किया गया। अंतिम अनुरोध कर रहे हैं...\n");
    
    $ch = curl_init($PAGE_URL);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    // एमएस-वाफ-टोकन कुकी सेट करें
    curl_setopt($ch, CURLOPT_COOKIE, "aws-waf-token=" . $cookie);
    
    $finalResponse = curl_exec($ch);
    curl_close($ch);
    
    echo "\n--- अंतिम पृष्ठ की सामग्री ---\n";
    echo $finalResponse;
    echo "\n--------------------------\n";
} else {
    echo("एमएस वीएफ चुनौती/कैप्चा हल नहीं हो सका।\n");
}

?>

कोड अनुकूलन नोट्स

मूल कोड में अलग-अलग कार्यों (solveAwsChallenge, solveAwsCaptcha) और थोड़ा असंगत पैरामीटर नाम (key, iv, context के बजाय awsKey, awsIv, awsContext) का उपयोग किया गया था। अपनाए गए कोड एकल solveAwsWaf कार्य में समायोजित करता है, जो नवीनतम CapSolver API दस्तावेज़ के साथ संगत है। इस दृष्टिकोण अधिक अनुकूलित है और बनाए रखने में आसान है।

इस लॉजिक वेब स्क्रैपिंग और ऑटोमेशन कार्यों के लिए बहुत प्रभावी है। अन्य भाषाओं में काम करने वाले लोगों के लिए, CapSolver के पास एक अनुदेश भी है जैसे कि "एमएस वीएफ कैप्चा / चुनौती को पायथन के साथ हल करें" [https://www.capsolver.com/blog/how-to-solve-aws-captcha-challenge-with-python] जो एक समान API पैटर्न का अनुसरण करता है।

निष्कर्ष

एमएस वीएफ की चुनौती और कैप्चा यांत्रिकी बॉट के खिलाफ एक प्रभावी उपाय हैं, लेकिन वे अनुकूलित नहीं हैं। PHP में एक शक्तिशाली पहचान और हल करने की लॉजिक के साथ, CapSolver API के शक्ति का उपयोग करके वेब स्क्रैपिंग या ऑटोमेशन कार्यक्रमों के बिना किसी भी बाधा के लगातार आगे बढ़ने के लिए आवश्यक aws-waf-token प्राप्त करने में विकासकर्ता सक्षम हो सकते हैं। मुख्य बात एमएस वीएफ कार्य को HTTP स्थिति कोड के माध्यम से सही ढंग से पहचानना और पृष्ठ स्रोत से आवश्यक पैरामीटर को सही ढंग से निकालना है।

मुख्य बिंदु

  • एमएस वीएफ कार्य: एमएस वीएफ बॉट के खिलाफ एक चुप्पी चुनौती (HTTP 202) या एक दृश्य कैप्चा (HTTP 405) का उपयोग करता है।
  • लक्ष्य: अंतिम लक्ष्य aws-waf-token कुकी मान प्राप्त करना है।
  • CapSolver API: AntiAwsWafTask कार्य प्रकार चुनौती और कैप्चा हल करता है, आवश्यक पैरामीटर समाधान के विशिष्ट प्रकार निर्धारित करते हैं।
  • PHP कार्यान्वयन: PHP के cURL का अनुरोध के लिए उपयोग किया जाता है, और preg_match के माध्यम से पृष्ठ स्रोत से डायनामिक पैरामीटर जैसे awsChallengeJS, awsKey, awsIv और awsContext निकालने के लिए आवश्यक है।
  • विश्वसनीयता: स्थिर, उच्च आउटपुट ऑटोमेशन के लिए, एक विशेषज्ञ समाधान के साथ एकीकरण आवश्यक है, जैसा कि एमएस वीएफ कैप्चा सॉल्वर: स्क्रैपर के लिए टोकन और चित्र समाधान में विवरण में विवरणित है।

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

Q1: मुझे HTTP स्थिति कोड (202 या 405) की जांच क्यों करनी होगी?

A: HTTP स्थिति कोड एमएस वीएफ कार्य के प्रकार के लिए सबसे विश्वसनीय संकेतक है। 202 स्वीकृत स्थिति कोड चुप्पी चुनौती के सक्रिय होने की पुष्टि करता है, जिसमें कम पैरामीटर की आवश्यकता होती है। 405 विधि अनुमति नहीं है स्थिति कोड एक दृश्य कैप्चा के सक्रिय होने की पुष्टि करता है, जिसमें विशिष्ट पैरामीटर (key, iv, context) की आवश्यकता होती है जो पृष्ठ के जावास्क्रिप्ट चर में निर्मित होते हैं।

Q2: AntiAwsWafTask और AntiAwsWafTaskProxyLess के बीच क्या अंतर है?

A: दोनों कार्य प्रकार एमएस वीएफ चुनौती के हल करने के लिए डिज़ाइन किए गए हैं। मुख्य अंतर प्रॉक्सी की आवश्यकता है। AntiAwsWafTask में आपको अपने प्रॉक्सी के बारे में अपने अनुरोध पैलोड में प्रदान करना आवश्यक है। AntiAwsWafTaskProxyLess के लिए प्रॉक्सी की आवश्यकता नहीं है, क्योंकि CapSolver आंतरिक रूप से प्रॉक्सी का उपयोग करता है। बड़े पैमाने पर वेब स्क्रैपिंग के लिए प्रॉक्सी का उपयोग करना आमतौर पर सुझाव दिया जाता है ताकि अनन्यता बनी रहे और आईपी बैन से बचा जा सके।

Q3: मेरा स्क्रिप्ट key, iv या context पैरामीटर नहीं ढूंढ पा रहा है। मैं क्या करूं?

A: ये पैरामीटर डायनामिक रूप से बनाए जाते हैं और आमतौर पर एचटीएमएल स्रोत में <script> टैग या छिपे इनपुट फ़ील्ड में एम्बेड किए जाते हैं। अगर आपका preg_match विफल हो जाता है, तो यह संभवतः लक्ष्य वेबसाइट के WAF विवरण में परिवर्तन के कारण हो सकता है। आपको ब्लॉक किए गए पृष्ठ के नवीनतम HTML स्रोत की जांच करनी चाहिए और अपने नियमित अभिव्यक्ति को अपडेट करना चाहिए।

Q4: क्या मैं एक तीसरे पक्ष की सेवा के बिना एमएस वीएफ को हल कर सकता हूं?

A: एमएस वीएफ चुनौती को हाथ से हल करना अत्यधिक कठिन और ऑटोमेशन के लिए अव्यावहारिक है। चुनौती कार्य के लिए जटिल, ओब्फस्किटेड जावास्क्रिप्ट चलाना आवश्यक है, और कैप्चा कार्य के लिए छवि स्वीकृति पहेली हल करना आवश्यक है। तीसरे पक्ष सेवाएं जैसे कि CapSolver वास्तविक समय में इन चुनौतियों को हल करने के लिए उन्नत AI और बड़े पैमाने के बुनियादी ढांचा का उपयोग करता है, जो ऑटोमेशन के लिए संभव बनाता है। प्रत्येक कैप्चा के लिए अपना सॉल्वर बनाना आमतौर पर लागत-कुशल या विश्वसनीय नहीं होता।

Q5: aws-waf-token कितने समय के लिए वैध है?

A: aws-waf-token की वैधता एमएस वीएफ द्वारा सुरक्षित वेबसाइट के विन्यास द्वारा निर्धारित की जाती है, लेकिन आमतौर पर 10-30 मिनट के लिए होती है। जब टोकन समाप्त हो जाता है, आपको नए टोकन प्राप्त करने के लिए अनुरोध करना, पहचान करना और कार्य सबमिट करना आवश्यक होता है।

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

अधिक

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

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

AWS WAF
Logo of CapSolver

Rajinder Singh

10-Dec-2025

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

एक प्रायोगिक गाइड जो पायथन और कैपसॉल्वर के उपयोग से एवीएस डब्ल्यूएफ चुनौतियों के साथ निपटने में सक्षम करता है

AWS WAF
Logo of CapSolver

Rajinder Singh

04-Dec-2025

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

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

AWS WAF
Logo of CapSolver

Rajinder Singh

01-Dec-2025

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

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

AWS WAF
Logo of CapSolver

Rajinder Singh

25-Nov-2025

शीर्ष 5 AWS WAF चुनौती समाधान उपकरण कंपनी ऑटोमेशन और वेब स्क्रैपिंग के लिए
शीर्ष 5 AWS WAF चुनौती हल करने वाले उपकरण कंपनी ऑटोमेशन और वेब स्क्रैपिंग के लिए

शीर्ष 5 AWS WAF चुनौती समाधान करने वाले टूल्स की खोज करें सुचारू वेब स्क्रैपिंग और एंटरप्राइज ऑटोमेशन के लिए। AWS WAF को पार करने के लिए सबसे अच्छा समाधान खोजें।

AWS WAF
Logo of CapSolver

Rajinder Singh

13-Nov-2025

एवीएस कैप्चा कैसे हल करें नोड जेएस के साथ
एवीएस कैप्चा को नोड जेएस के साथ कैसे हल करें

इस लेख में, हम आपको AWS कैप्चा / चैलेंज कैसे हल करें के साथ दिखाएंगे।

AWS WAF
Logo of CapSolver

Aloísio Vítor

03-Nov-2025