CapSolver reCAPTCHA एकीकरण को solvethree पर ले जाएँ

solvethree द्वारापढ़ने में 6 मिनट

केवल API होस्टनाम बदलना पर्याप्त नहीं है। CapSolver के clientKey और नेस्टेड task को Bearer प्रमाणीकरण और फ़्लैट अनुरोध बॉडी से बदलें, फिर परिणाम प्राप्त करने और सबमिट करने का तरीका अपडेट करें।

इस पेज पर

टास्क समर्थित होने की पुष्टि करें और साइट सेट अप करें

solvethree डिफ़ॉल्ट रूप से reCAPTCHA v3 Enterprise का उपयोग करता है और मानक v3 भी स्वीकार करता है। इसके अन्य सार्वजनिक उत्पाद Kasada और Ticketmaster TMPT हैं। यह reCAPTCHA v2, hCaptcha, Turnstile या ब्राउज़र एक्सटेंशन से समाधान का समर्थन नहीं करता, इसलिए यह हर CapSolver इंटीग्रेशन का सार्वभौमिक विकल्प नहीं है।

reCAPTCHA टास्क भेजने से पहले कंसोल में लक्ष्य साइट सेट अप करें और सुनिश्चित करें कि आपके वर्कस्पेस के लिए सक्रिय प्रोफ़ाइल उपलब्ध है। होस्टनाम और एक्शन भेजने से वह प्रोफ़ाइल नहीं बनती। CapSolver की websiteKey फ़ील्ड हटाकर यह न मान लें कि बाकी अनुरोध पर्याप्त है।

प्रमाणीकरण और अनुरोध बॉडी बदलें

प्रारंभिक अनुरोध में CapSolver का clientKey और प्रदाता-विशिष्ट टास्क एनवेलप उपयोग होता है:

पहले · CapSolver टास्क एनवेलप
{
  "clientKey": "CAPSOLVER_API_KEY",
  "task": {
    "type": "ReCaptchaV3Task",
    "websiteURL": "https://accounts.example.com/login",
    "websiteKey": "PUBLIC_SITE_KEY",
    "pageAction": "login",
    "isEnterprise": true,
    "proxy": "http://user:[email protected]:8080"
  }
}

solvethree के लिए नीचे दी गई फ़्लैट बॉडी को POST https://api.solvethree.com/v1/tasks पर भेजें। Authorization हेडर का मान Bearer के बाद अपनी वर्कस्पेस API कुंजी रखें। उस कुंजी को सर्वर पर रखें; नई JSON बॉडी में clientKey न ले जाएँ।

reCAPTCHA Enterprise · अनुरोध की संरचना
{
  "site": "accounts.example.com",
  "action": "login",
  "proxy": "http://user:[email protected]:8080",
  "requestId": "example_login_001"
}
ऊपर दिए गए Enterprise अनुरोध के लिए फ़ील्ड में बदलाव
ऊपर दिए गए Enterprise अनुरोध के लिए फ़ील्ड में बदलाव
CapSolver इनपुटsolvethree मैपिंग
clientKeysolvethree वर्कस्पेस API कुंजी का उपयोग करके प्रमाणीकरण को Bearer हेडर में ले जाएँ।
taskरैपर हटाएँ; टास्क फ़ील्ड शीर्ष स्तर पर होनी चाहिए।
task.type और isEnterpriseदोनों में से कोई भी फ़ील्ड न भेजें। recaptchaType का डिफ़ॉल्ट मान enterprise-v3 है; मानक v3 के लिए इसे v3 पर सेट करें।
websiteURLsite में केवल होस्टनाम दें: accounts.example.com, स्कीम या /login पाथ नहीं। url फ़ील्ड न भेजें।
websiteKeyइसे सार्वजनिक टास्क बॉडी में शामिल न करें। साइट की सक्रिय प्रोफ़ाइल पहले से वर्कस्पेस के लिए उपलब्ध होनी चाहिए।
pageActionइच्छित एक्शन को action के रूप में भेजें; उदाहरण में login बरकरार रखा गया है।
proxyHTTP या HTTPS प्रॉक्सी URL दें। proxy या proxyCandidates में से ठीक एक आवश्यक है।

यह उदाहरण Enterprise अनुरोध है, क्योंकि इसमें recaptchaType को उसके डिफ़ॉल्ट मान पर छोड़ा गया है। यदि आपका लक्ष्य मानक v3 का उपयोग करता है, तो उसे स्पष्ट रूप से चुनें; हर CapSolver टास्क प्रकार को Enterprise डिफ़ॉल्ट में न बदलें।

स्विच करने से पहले ProxyLess संबंधी धारणाएँ स्पष्ट करें

CapSolver ProxyLess टास्क का यहाँ कोई सीधा प्रॉक्सीलेस समतुल्य नहीं है: solvethree में कॉलर द्वारा दिया गया प्रॉक्सी इनपुट आवश्यक है। यदि आपका मौजूदा इंटीग्रेशन प्रॉक्सी प्रबंधित नहीं करता, तो यह इंटीग्रेशन में बदलाव है, केवल फ़ील्ड का नाम बदलना नहीं। नए अनुरोध में SOCKS प्रॉक्सी कॉन्फ़िगरेशन भी कॉपी न करें; solvethree HTTP और HTTPS प्रॉक्सी URL स्वीकार करता है।

एक प्रॉक्सी से शुरू करें, ताकि समाधान और सबमिशन के लिए उपयोग होने वाला रूट स्पष्ट हो। यदि आप इसके बजाय proxyCandidates का उपयोग करते हैं, तो बिना पाथ, क्वेरी या फ़्रैगमेंट के अधिकतम बारह अलग-अलग HTTP या HTTPS प्रॉक्सी URL दें। कैंडिडेट सेवा को वैकल्पिक आउटबाउंड रूट आज़माने देते हैं; वे किसी प्रॉक्सी या लक्ष्य के काम करने की गारंटी नहीं देते।

getTaskResult को टास्क जीवनचक्र से बदलें

CapSolver clientKey और taskId के साथ getTaskResult के ज़रिए एसिंक्रोनस परिणाम प्राप्त करता है। solvethree उन्हें Bearer-प्रमाणीकृत GET /v1/tasks/:id से प्राप्त करता है। HTTP कॉल के साथ परिणाम पार्सर भी अपडेट करें; CapSolver की स्थिति और त्रुटि फ़ील्ड अलग API अनुबंध का हिस्सा हैं।

  1. 1.

    पहले HTTP प्रतिक्रिया जाँचें

    सफलता पेलोड पढ़ने से पहले असफल HTTP प्रतिक्रियाओं को संभालें। HTTP अनुरोध की त्रुटि और समाधान टास्क की असफलता को अलग-अलग संभालना आवश्यक है।

  2. 2.

    निर्माण से लौटाए गए टास्क की जाँच करें

    reCAPTCHA निर्माण डिफ़ॉल्ट रूप से अधिकतम 15 सेकंड प्रतीक्षा करता है, इसलिए प्रतिक्रिया में टास्क पहले ही अंतिम स्थिति में हो सकता है। केवल ready में उपयोग योग्य समाधान होता है। यदि टास्क pending या solving है, तो उसे लौटाई गई solvethree टास्क ID से प्राप्त करें।

  3. 3.

    तैयार या असफल होने पर पोलिंग रोकें

    ready के लिए समाधान अपने सबमिशन कोड को दें। failed के लिए errorCode और error की जाँच करें और उस टास्क की पोलिंग रोकें। असफल समाधानों का शुल्क वापस कर दिया जाता है। अपरिवर्तित अमान्य इनपुट के साथ बिना जाँच के दोबारा प्रयास न करें और न ही मानें कि हर असफलता का अर्थ अपर्याप्त क्रेडिट है।

चरणबद्ध माइग्रेशन के दौरान हर टास्क ID के साथ उसके प्रदाता का टैग रखें। मौजूदा CapSolver टास्क CapSolver के ज़रिए पूरे करें और नए solvethree टास्क solvethree के ज़रिए भेजें। पुराने प्रदाता की टास्क ID नए API को भेजने के बजाय अपने अडैप्टर में उनके परिणामों को एक समान रूप दें।

अपने अडैप्टर से केवल टोकन स्ट्रिंग से अधिक जानकारी लौटाएँ

reCAPTCHA परिणाम को इच्छित लक्ष्य पर सबमिट करते समय solution.token का उपयोग करें। लौटाए गए userAgent और secChUa भी बनाए रखें और सबमिशन के लिए सफल प्रॉक्सी का उपयोग करें। यदि आपका मौजूदा अडैप्टर केवल टोकन स्ट्रिंग लौटाता है, तो उसे बदलें ताकि वह यह जानकारी सबमिट करने वाले क्लाइंट तक पहुँचाए।

यदि तैयार टोकन अस्वीकार हो जाए, तो दूसरे समाधान का भुगतान करने से पहले भेजे जा रहे एप्लिकेशन अनुरोध की जाँच करें। जाँचें कि उसमें नया टोकन है—टास्क ID या पुराना टोकन नहीं—और सबमिशन में लौटाई गई ब्राउज़र पहचान, सफल प्रॉक्सी तथा इच्छित लक्ष्य URL का उपयोग हो रहा है। ready टास्क का अर्थ है कि समाधान जनरेट हुआ, न कि लक्ष्य ने आपका बाद का अनुरोध स्वीकार कर लिया।

काम दोहराए बिना टाइमआउट हुए निर्माण अनुरोधों की रिकवरी करें

बदलाव के बाद वाले उदाहरण में रिकवरी के लिए requestId शामिल है। हर नए तार्किक टास्क के लिए एक जनरेट करें और उसे अनुरोध के सटीक इनपुट के साथ रखें। इसमें 1–64 ASCII अक्षर, अंक, अंडरस्कोर या हाइफ़न होने चाहिए। उसी टास्क अनुरोध के साथ इसका दोबारा उपयोग करने पर मौजूदा टास्क लौटता है; अलग इनपुट के साथ उपयोग करने पर टकराव होता है।

यदि निर्माण का समय समाप्त हो जाए, तो ID होने पर टास्क प्राप्त करें, या उसी requestId के साथ वही बॉडी फिर से सबमिट करें। प्रतिक्रिया खो जाने से यह साबित नहीं होता कि निर्माण असफल हुआ। केवल इसलिए नई ID जनरेट न करें कि आपके क्लाइंट ने प्रतीक्षा बंद कर दी।

अपने क्लाइंट के टाइमआउट में reCAPTCHA निर्माण की डिफ़ॉल्ट अधिकतम 15 सेकंड की प्रतीक्षा और नेटवर्क ओवरहेड के लिए समय रखें। GET पोलिंग डिफ़ॉल्ट रूप से बिना प्रतीक्षा किए लौटती है और अधिकतम 15000 तक waitMs स्वीकार करती है। waitMs को URL क्वेरी में रखें, टास्क JSON में नहीं, और पोलिंग टाइमआउट में भी उस प्रतीक्षा के लिए समय रखें।

अपना पहला टास्क चलाएँ।

$5 वर्कस्पेस क्रेडिट के साथ शुरुआत करें।

वर्कस्पेस बनाएँ
CapSolver reCAPTCHA एकीकरण को solvethree पर ले जाएँ · solvethree