
Rajinder Singh
Deep Learning Researcher

/createTask को कॉल करें, फिर status === 'ready' होने तक /getTaskResult को पॉल करें।.env में स्टोर करें—कभी-भी कोड में डालें नहीं।axios + पॉलिंग लूप का उपयोग करें।आधुनिक वेब ऑटोमेशन और डेटा संग्रह परियोजनाएं आमतौर पर वर्कफ़्लो को बाधित करने वाले CAPTCHA चुनौतियों का सामना करती हैं। चाहे आप एक वेब स्क्रैपर बना रहे हों, ब्राउजर कार्यों को स्वचालित कर रहे हों, या एआई एजेंट विकसित कर रहे हों, एक विश्वसनीय CAPTCHA हल करने वाला समाधान आवश्यक हो जाता है। CapSolver एक AI-संचालित API प्रदान करता है जो इन चुनौतियों को कार्यक्रमात्मक रूप से निपटाता है, और इस गाइड आपको जावास्क्रिप्ट में इसके अनुमोदन के बारे में बताता है।
ऑटोमेटेड ट्रैफिक अब इंटरनेट ट्रैफिक के लगभग आधे हिस्से का प्रतिनिधित्व करता है, जिसके कारण बॉट डिटेक्शन और CAPTCHA चुनौतियां वेब एप्लिकेशन में अधिक सामान्य हो गई हैं। वास्तविक ऑटोमेशन वर्कफ़्लो के लिए विकसित करने वाले विकासकर्ताओं के लिए, एक विश्वसनीय प्रोग्रामेटिक समाधान अब वैकल्पिक नहीं है—यह एक मुख्य बुनियादी आवश्यकता है।
कोड में डूबने से पहले, CapSolver कैप्चा मांगों के प्रसंस्करण के तरीके की समझ आपके एन्टीग्रेशन को सही ढंग से डिज़ाइन करने में मदद करती है। कार्य प्रवाह एक सरल पैटर्न का अनुसरण करता है: एक कार्य सबमिट करें, पूर्ण होने के लिए पॉल करें, और समाधान प्राप्त करें।
जब आप कैप्चा चुनौति को CapSolver में सबमिट करते हैं, तो प्रणाली इसे एक अद्वितीय कार्य पहचानकर्ता नियुक्त करती है। आपके एप्लिकेशन के लिए नियमित अंतराल पर सेवा को पॉल करना आवश्यक होता है जब तक कि समाधान तैयार न हो जाए। पूरा होने के बाद, आपको अपने ऑटोमेशन वर्कफ़्लो के साथ आगे बढ़ने के लिए आवश्यक टोकन या डेटा वाला उत्तर प्राप्त होता है।
CapSolver विभिन्न कैप्चा प्रकारों का समर्थन करता है, जैसे कि reCAPTCHA v2/v3, Cloudflare Turnstile, और छवि-से-पाठ चुनौतियां। API कार्य प्रवाह चुनौति प्रकारों के बीच स्थिर रहता है, हालांकि कार्य पैरामीटर विशिष्ट समाधान के आवश्यकता के आधार पर भिन्न होते हैं। पूरी सूची के लिए, CapSolver कार्य प्रकार संदर्भ देखें। अगर आप प्लेटफॉर्म में नए हैं, तो शुरू करें गाइड खाता सेटअप और आपके पहले API कॉल के बारे में बताता है। एक व्यापक अवलोकन के लिए, CapSolver को अपने ऑटोमेशन वर्कफ़्लो में कैसे एम्बेड करें देखें।
इस गाइड में, आपको JavaScript और Node.js परियोजनाओं के लिए विशेष रूप से CapSolver के कैप्चा हल करने एपीआई के अनुमोदन के बारे में सीखने के लिए निर्देशित किया जाता है। सुनिश्चित करें कि आपके पास Node.js 18+ स्थापित है और अपने खाता डैशबोर्ड से एक CapSolver API कुंजी तैयार है।
परियोजना संरचना:
capsolver-integration/
├── .env # वातावरण चलन
├── capsolver-client.js # मुख्य API क्लाइंट
├── index.js # उपयोग उदाहरण
└── package.json
अपने परियोजना को शुरू करें और निर्भरताओं को स्थापित करें:
mkdir capsolver-integration
cd capsolver-integration
npm init -y
npm install axios dotenv
axios एक व्यापक रूप से उपयोग किया जाने वाला HTTP क्लाइंट है जो Node.js के लिए स्पष्ट प्रमिस-आधारित सिंटैक्स और निर्मित समय सीमा नियंत्रण प्रदान करता है—दोनों बाहरी API के लिए पॉलिंग के लिए उपयोगी होते हैं।
एक .env फ़ाइल बनाएं जो आपके API कुंजी को सुरक्षित रूप से स्टोर करता है:
CAPSOLVER_API_KEY=आपका-एपी-कुंजी-यहां
सुरक्षा नोट: कभी-भी अपने
.envफ़ाइल को संस्करण नियंत्रण में कमेट न करें। तुरंत.gitignoreमें इसे जोड़ें। खुले API कुंजी के कारण अनधिकृत उपयोग और अप्रत्याशित शुल्क हो सकते हैं। ऑटोमेशन परियोजनाओं में गुप्त जानकारी के साथ निपटने के लिए बेस्ट प्रैक्टिस के लिए ओवीएसपी गुप्त जानकारी प्रबंधन देखें।
आपके एन्टीग्रेशन की आधारशिला एक पुन: उपयोग करने योग्य क्लाइंट है जो प्रमाणीकरण और अनुरोध फॉर्मेटिंग का प्रबंधन करता है। यह क्लाइंट API एंडपॉइंट को समाहित करता है और प्रत्येक ऑपरेशन के लिए विधियां प्रदान करता है। इसे capsolver-client.js के रूप में सहेजें:
// capsolver-client.js
const axios = require('axios');
class CapSolverClient {
constructor(apiKey) {
this.apiKey = apiKey;
this.baseUrl = 'https://api.capsolver.com';
}
async request(endpoint, data) {
const response = await axios.post(`${this.baseUrl}${endpoint}`, {
...data,
clientKey: this.apiKey
}, {
headers: { 'Content-Type': 'application/json' },
timeout: 30000
});
return response.data;
}
delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
}
module.exports = CapSolverClient;
नोट: इस गाइड में दिए गए कोड उदाहरण विशिष्ट CapSolver के दस्तावेज़ीकृत API संरचना के आधार पर विकास पैटर्न दर्शाते हैं। हमेशा अंतिम एंडपॉइंट पथ, कार्य प्रकार नाम और अनुरोध/उत्तर फॉर्मेट के बारे में आधिकारिक CapSolver API दस्तावेज़ीकरण के साथ जांचें, क्योंकि इन विवरणों में बदलाव हो सकते हैं।
इस क्लाइंट ने API संचार के दोहराव वाले पहलुओं का प्रबंधन किया है, जैसे कि हेडर सेट करना और अपने क्लाइंट कुंजी के साथ अनुरोध बॉडी को फॉर्मेट करना।
बड़े पैमाने पर कैप्चा हल करने से पहले, अपने खाते में पर्याप्त क्रेडिट है कि नहीं, इसकी जांच करें। CapSolver एक भुगतान-प्रत्येक-सफल-समाधान मॉडल पर काम करता है, इसलिए अपने बैलेंस की जांच करने से वर्कफ़्लो के बीच अप्रत्याशित विफलताओं से बचा जा सकता है।
// CapSolverClient वर्ग में जोड़ें
async getBalance() {
const result = await this.request('/getBalance', {});
if (result.errorCode) {
throw new Error(`बैलेंस चेक विफल रहा: ${result.errorCode} - ${result.errorDescription}`);
}
return {
balance: result.balance,
currency: result.currency || 'USD'
};
}
बहुत से विकासकर्ता अपने प्रारंभीकरण अनुक्रम में बैलेंस चेक को शामिल करते हैं ताकि लंबे ऑटोमेशन रन शुरू होने से पहले क्रेडिट कम हो गए हों, इसके बारे में जल्दी विफल हो जाए।
reCAPTCHA v2 सामान्य चेकबॉक्स चुनौति या छवि चयन कार्य होता है। इनके हल करने के लिए, लक्ष्य पृष्ठ के URL और पृष्ठ के HTML में एम्बेडेड साइट कुंजी की आवश्यकता होती है। हल किया गया टोकन फॉर्म या अनुरोध के हिस्से के रूप में जमा किया जाता है।
// CapSolverClient वर्ग में जोड़ें
async solveReCaptchaV2(websiteUrl, websiteKey) {
const task = {
type: 'RecaptchaV2Task',
websiteURL: websiteUrl,
websiteKey: websiteKey
};
return await this.submitAndWait(task);
}
async submitAndWait(task) {
// चरण 1: कार्य सबमिट करें
const submitResult = await this.request('/createTask', { task });
if (submitResult.errorCode) {
throw new Error(`कार्य बनाना विफल रहा: ${submitResult.errorCode}`);
}
const taskId = submitResult.taskId;
// चरण 2: परिणाम के लिए पॉल करें
while (true) {
await this.delay(1500);
const result = await this.request('/getTaskResult', { taskId });
if (result.status === 'ready') {
return result.solution;
}
if (result.status === 'failed') {
throw new Error(`हल करना विफल रहा: ${result.errorDescription || 'अज्ञात त्रुटि'}`);
}
// status === 'processing' → पॉलिंग जारी रखें
}
}
1.5 सेकंड के पॉलिंग अंतराल के साथ उत्तरदायित्व और API दर सीमा के बीच संतुलन बनाए रखा जाता है। status क्षेत्र processing होगा जब तक कार्य चल रहा हो, ready होगा जब समाधान उपलब्ध हो, या failed होगा यदि चुनौति हल नहीं की जा सकती है। पूर्ण उत्तर स्कीमा के लिए, getTaskResult API संदर्भ देखें।
reCAPTCHA v3 अलग तरह काम करता है—यह पृष्ठ के पीछे छिपा रहता है और दृश्य चुनौति के बजाय एक जोखिम स्कोर वापस करता है। CapSolver v3 चुनौतियों को हल कर सकता है जबकि आप लक्ष्य साइट द्वारा आवश्यक न्यूनतम स्कोर के बारे में निर्दिष्ट कर सकते हैं।
// CapSolverClient वर्ग में जोड़ें
async solveReCaptchaV3(websiteUrl, websiteKey, options = {}) {
const {
pageAction = 'verify',
minScore = 0.9
} = options;
const task = {
type: 'RecaptchaV3Task',
websiteURL: websiteUrl,
websiteKey: websiteKey,
pageAction: pageAction,
minScore: minScore
};
return await this.submitAndWait(task);
}
reCAPTCHA v3 कार्य सामान्यतः v2 कार्यों की तुलना में तेजी से पूरा होते हैं क्योंकि दृश्य चुनौतियों के साथ अंतरक्रिया की आवश्यकता नहीं होती है। pageAction पैरामीटर लक्ष्य पृष्ठ पर परिभाषित क्रिया स्ट्रिंग के साथ मेल खाना चाहिए।
Cloudflare Turnstile चुनौतियां आमतौर पर ऑटोमेशन वर्कफ़्लो में दिखाई देती हैं, विशेष रूप से जब आप Cloudflare द्वारा सुरक्षित साइटों को स्क्रैप कर रहे हों। CapSolver इन चुनौतियों के लिए विशेष समर्थन प्रदान करता है:
// CapSolverClient वर्ग में जोड़ें
async solveTurnstile(websiteUrl, websiteKey, options = {}) {
const {
pageAction = 'managed',
metadata = {}
} = options;
const task = {
type: 'AntiCloudflareTask',
websiteURL: websiteUrl,
websiteKey: websiteKey,
pageAction: pageAction,
metadata: metadata
};
return await this.submitAndWait(task);
}
अधिक उन्नत Cloudflare स्थितियों के लिए—जैसे कि चुनौति पृष्ठ और ब्राउज़र फिंगरप्रिंटिंग—हेडलेस ब्राउज़र में कैप्चा हल करने के लिए ऑटोमेशन के बारे में गाइड देखें।
यहां एक पूर्ण index.js है जो एक वास्तविक ऑटोमेशन स्थिति में क्लाइंट के उपयोग के बारे में दिखाता है:
// index.js
const CapSolverClient = require('./capsolver-client');
require('dotenv').config();
async function main() {
const client = new CapSolverClient(process.env.CAPSOLVER_API_KEY);
try {
// शुरू करने से पहले बैलेंस जांचें
const { balance, currency } = await client.getBalance();
console.log(`खाता बैलेंस: ${balance} ${currency}`);
if (balance < 0.01) {
throw new Error('अपर्याप्त बैलेंस। कृपया अपने CapSolver खाते को टॉप अप करें।');
}
// उदाहरण: reCAPTCHA v2 हल करें
const solution = await client.solveReCaptchaV2(
'https://example.com/login',
'6Le-wvkAAAAAATBQbZDLjMjqTLV92vP6EXjs'
);
console.log('कैप्चा सफलतापूर्वक हल कर दिया गया');
console.log('टोकन:', solution.gRecaptchaResponse);
// टोकन को अपने ऑटोमेशन वर्कफ़्लो में डालें
// await page.evaluate(token => {
// document.getElementById('g-recaptcha-response').value = token;
// }, solution.gRecaptchaResponse);
} catch (error) {
console.error('त्रुटि:', error.message);
process.exit(1);
}
}
main();
उत्पादन एम्बेडिंग के लिए विश्वसनीय त्रुटि संभाल आवश्यक है। नेटवर्क समस्याएं, अस्थायी API बाधाएं और कैप्चा विफलताएं हो सकती हैं, इसलिए पुन: प्रयास लॉजिक के साथ विश्वसनीयता में महत्वपूर्ण सुधार होता है:
async function withRetry(operation, maxAttempts = 3, delayMs = 2000) {
let lastError;
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
try {
return await operation();
} catch (error) {
lastError = error;
console.warn(`प्रयास ${attempt}/${maxAttempts} विफल रहा: ${error.message}`);
if (attempt < maxAttempts) {
await new Promise(resolve => setTimeout(resolve, delayMs * attempt));
}
}
}
throw lastError;
}
// उपयोग
const solution = await withRetry(() =>
client.solveReCaptchaV2('https://example.com', 'आपका-साइट-कुंजी')
);
एक्स्पोनेंशियल बैकऑफ (delayMs * attempt) स्थायी विफलताओं के दौरान API को हमला नहीं करता है और सेवा के पुनर्जीवन के लिए समय देता है।
अपना API कुंजी सुरक्षित रखें। हमेशा वातावरण चलन से अंकड़े लोड करें, कभी-भी कोड में डालें नहीं। स्थानीय रूप से .env फ़ाइलों का उपयोग करें और CI/CD पाइपलाइन में उचित गुप्त जानकारी प्रबंधन का उपयोग करें।
कार्य समय सीमा सेट करें। अपने ऑटोमेशन को असीमित रूप से फंसे रहने से बचाने के लिए, अधिकतम पॉलिंग अवधि जोड़ें। 120 सेकंड के समय सीमा लगभग सभी हल स्थितियों को कवर करता है।
अपने बैलेंस को प्रोग्रामेटिक रूप से निरीक्षण करें। लंबे समय तक चलने वाले ऑटोमेशन कार्यों के लिए, शुरू करते समय अपने बैलेंस की जांच करें और आवश्यकता पर नियमित अंतराल पर जांच करें। इससे मध्य चरण में चुपके विफलताओं से बचा जा सकता है।
कार्य प्रकार के साथ चुनौति मेल करें। गलत कार्य प्रकार का उपयोग विफलताओं का एक सामान्य स्रोत है। हमेशा लक्ष्य पृष्ठ के HTML की जांच करें और कार्य सबमिट करने से पहले सही साइट कुंजी निकालें।
दर सीमा का अनुसरण करें। अपने वर्कफ़्लो के लिए परिणाम लेने की गति से तेज़ कार्य सबमिट न करें। कार्य लाइन और नियंत्रित दर पर प्रक्रिया करने से अधिक स्थिर थ्रूपुट प्राप्त होता है।
एक व्यापक दृष्टिकोण के लिए, CapSolver को अपने ऑटोमेशन या स्क्रैपिंग वर्कफ़्लो में कैसे एम्बेड करें, जो Puppeteer और Playwright के साथ अतिरिक्त पैटर्न शामिल करता है। यदि आपके परियोजना में विशेष रूप से हेडलेस ब्राउज़र हैं, हेडलेस ब्राउज़र में कैप्चा हल करने के लिए ऑटोमेशन के बारे में अंत से अंत तक पूरा सेटअप चलाता है।
प्रश्न: क्या मुझे CapSolver API का उपयोग करने के लिए प्रॉक्सी की आवश्यकता है?
उत्तर: नहीं। अधिकांश कार्य प्रकार के लिए, CapSolver अपने स्वयं के बुनियादी ढांचे पर हल करता है और आपको केवल लक्ष्य URL और साइट कुंजी पास करना होता है। प्रॉक्सी कॉन्फ़िगरेशन वैकल्पिक है और केवल निश्चित कार्य प्रकारों के लिए आवश्यक होता है जिन्हें विशिष्ट IP से ब्राउज़र सत्र के रूप में मॉडल करने की आवश्यकता होती है। विवरण के लिए प्रॉक्सी उपयोग गाइड देखें।
प्रश्न: कैप्चा हल करने में कितना समय लगता है?
उत्तर: हल करने का समय चुनौति प्रकार पर निर्भर करता है। reCAPTCHA v3 आमतौर पर 5 सेकंड से कम समय में हल हो जाता है। reCAPTCHA v2 और Cloudflare Turnstile के लिए 10-30 सेकंड का समय लग सकता है, जो चुनौति की कठिनाई और वर्तमान अनुरोध लोड पर निर्भर करता है। इस गाइड में पॉलिंग लूप चर अवधि को स्वचालित रूप से हल करता है।
प्रश्न: यदि मेरा बैलेंस मध्य चरण में खत्म हो जाता है तो क्या होगा?
उत्तर: अगले /createTask कॉल पर API एक त्रुटि कोड लौटाएगा। इस गाइड में वाला क्लाइंट इस मामले में एक त्रुटि फेंकता है, जिसे आप अलार्म भेजने या कार्य रोकने के रूप में प्रतिक्रिया कर सकते हैं। शुरू करते समय बैलेंस जांच करना (जैसा कि गाइड में दिखाया गया है) इसे रोकने का सबसे सरल तरीका है।
प्रश्न: क्या मैं ब्राउज़र (फ्रंटएंड जावास्क्रिप्ट) में इस क्लाइंट का उपयोग कर सकता हूं?
उत्तर: नहीं। आपका API कुंजी सर्वर-साइड रहना चाहिए। इसे फ्रंटएंड कोड में खुला करने से किसी भी व्यक्ति के आपके क्रेडिट का उपयोग करने की अनुमति मिल सकती है। हमेशा CapSolver API को Node.js बैकएंड, सर्वरलेस फ़ंक्शन या अन्य सर्वर-साइड वातावरण से कॉल करें।
प्रश्न: यदि एक कार्य विफल रहता है तो मैं क्या करूं?
A: असफल स्थिति आमतौर पर चुनौती के पैरामीटर गलत होने का संकेत देती है (गलत साइट कुंजी, असंगत कार्य प्रकार, या असमर्थित पृष्ठ कॉन्फ़िगरेशन)। उत्तर में errorDescription क्षेत्र की जांच करें, अपने कार्य पैरामीटर की जांच [कार्य प्रकार दस्तावेज़] (https://docs.capsolver.com/en/guide/api-tasktype) के साथ करें, और सही मानों के साथ पुनः प्रयास करें। आप [CapSolver FAQ] (https://www.capsolver.com/faq) में सामान्य त्रुटि पैटर्न के लिए भी जांच सकते हैं।
प्र: क्या आधिकारिक JavaScript/Node.js SDK है?
ए: CapSolver कई भाषाओं के लिए आधिकारिक SDK प्रदान करता है। JavaScript परियोजनाओं के लिए, आप इस गाइड में दिए गए पैटर्न का सीधे उपयोग कर सकते हैं, या [CapSolver GitHub] (https://github.com/capsolver) पर कोई प्रकाशित npm पैकेज और कोड उदाहरण की जांच कर सकते हैं।
इस कार्यान्वयन के साथ, आपके JavaScript ऑटोमेशन परियोजनाओं में CAPTCHA हल करने की क्षमता जोड़ने के लिए एक ठोस आधार है। आप इस क्लाइंट को अतिरिक्त कार्य प्रकारों के साथ विस्तारित कर सकते हैं, Puppeteer या Playwright जैसे ब्राउज़र ऑटोमेशन टूल्स के साथ इसके एकीकरण कर सकते हैं, या अधिक उन्नत डेटा निष्कर्षण पाइपलाइंस के लिए [AI स्क्रैपिंग वर्कफ़्लो] (https://www.capsolver.com/blog/web-scraping/integrate-ai-scraping-workflow) के साथ इसके एकीकरण कर सकते हैं।
अन्य चुनौती प्रकारों और उनके विशिष्ट पैरामीटर के लिए, [आधिकारिक कार्य प्रकार दस्तावेज़] (https://docs.capsolver.com/en/guide/api-tasktype) के संदर्भ में जाएं।
आज ही अपने JavaScript परियोजनाओं में CAPTCHA हल करें [CapSolver] (https://www.capsolver.com/?utm_source=official&utm_medium=blog&utm_campaign=how-to-implement-capsolver-api-in-javascript) के साथ—अपना खाता बनाएं, अपना API कुंजी प्राप्त करें, और ऊपर दिए गए क्लाइंट कोड को अपने अगले ऑटोमेशन परियोजना में डालें।
CapSolver की खोज करें, 2026 में AI स्वचालन के लिए प्रमुख नो-कोड CAPTCHA सॉल्वर, कोडिंग के बिना कार्य प्रक्रियाओं को सुगम बनाएं और डेटा एकत्रीकरण में सुधार करें। अपने मुख्य विशेषताओं, लाभों और नैतिक उपयोग के बारे में जानें।

एक पूर्ण गाइड अगेंटिक ब्राउज़र्स को संचालित करने वाले CAPTCHA हल करने की बुनियादी सुविधा के बारे में। जानें कि CAPTCHAs AI एजेंट्स के लिए मुख्य बाधा क्यों हैं और CapSolver बिना किसी असुविधा के वेब स्वचालन के लिए आवश्यक समाधान कैसे प्रदान करता है।
