
Rajinder Singh
Deep Learning Researcher

जब मैंने पहली बार reCAPTCHA के साथ काम करना शुरू किया, तो मैंने इसे दोधारी तलवार पाया। एक ओर, यह बॉट्स को छानने के लिए बहुत अच्छा है, लेकिन दूसरी ओर, यह वैध स्वचालन परियोजनाओं के लिए एक बड़ी बाधा हो सकती है। तो इस लेख में, मैं आपको तीन शक्तिशाली प्रोग्रामिंग भाषाओं: पायथन, जावा और सी++ का उपयोग करके reCAPTCHA को हल करने के माध्यम से मार्गदर्शन करूंगा। प्रत्येक भाषा reCAPTCHA चुनौतियों को संभालने के लिए अपने स्वयं के फायदे लाती है, जो आपकी परियोजना की आवश्यकताओं के आधार पर लचीलापन प्रदान करती है। हम वेब सुरक्षा में उनके महत्व के साथ-साथ CAPTCHA और reCAPTCHA क्या हैं, इसे समझकर शुरुआत करेंगे।
आइए सबसे बुनियादी अवधारणा से शुरू करें: CAPTCHA, या "कंप्यूटर और मनुष्यों को अलग करने के लिए पूरी तरह से स्वचालित सार्वजनिक ट्यूरिंग परीक्षण", जो मानव उपयोगकर्ताओं और बॉट्स के बीच अंतर करने का एक सामान्य तरीका है। यह वेबसाइटों को स्वचालित हमलों, स्पैम या शोषण से बचने में मदद करता है, उपयोगकर्ताओं को ऐसे कार्य हल करने की आवश्यकता होती है जो मनुष्यों के लिए आसान होते हैं लेकिन मशीनों के लिए कठिन होते हैं। यह विकृत टेक्स्ट को पहचानना, विशिष्ट वस्तुओं वाली छवियों का चयन करना या तर्क पहेली को हल करना हो सकता है।
reCAPTCHA Google द्वारा विकसित एक सेवा है जो स्पैम और दुरुपयोग से वेबसाइटों की सुरक्षा में मदद करती है, मानव उपयोगकर्ताओं को बॉट्स से अलग करती है। यह समय के साथ विभिन्न संस्करणों में विकसित हुआ है, प्रत्येक विशिष्ट क्षमताएं प्रदान करता है।
reCAPTCHA v2: यह सबसे आम रूप है जहाँ उपयोगकर्ता चेकबॉक्स ("मैं रोबोट नहीं हूँ") पर क्लिक करने या छवियों का चयन करने जैसे कार्य हल करते हैं। यह अधिक उपयोगकर्ता के अनुकूल है लेकिन फिर भी जोखिम कारकों के आधार पर एक चुनौती प्रदर्शित कर सकता है।
reCAPTCHA v3: यह संस्करण उपयोगकर्ताओं को बाधित किए बिना पृष्ठभूमि में अदृश्य रूप से चलता है। यह उपयोगकर्ता व्यवहार के आधार पर जोखिम स्कोर (0.0 से 1.0) असाइन करता है। कम जोखिम वाले उपयोगकर्ता बिना किसी चुनौती के पास हो जाते हैं, जबकि संदिग्ध गतिविधि सत्यापन चरणों को ट्रिगर कर सकती है।
reCAPTCHA Enterprise: एंटरप्राइज़-स्तरीय सुरक्षा के लिए डिज़ाइन किया गया, यह संस्करण बड़े व्यवसायों के लिए उन्नत सुरक्षा सुविधाएँ प्रदान करता है। यह उच्च-जोखिम वाले लेनदेन के लिए अनुकूलित उन्नत विश्लेषण, मशीन लर्निंग मॉडल और जोखिम-आधारित मूल्यांकन प्रदान करता है, जिसमें व्यवसाय सुरक्षा आवश्यकताओं को पूरा करने के लिए अधिक अनुकूलन होता है।
इनमें से प्रत्येक संस्करण का उद्देश्य इष्टतम सुरक्षा प्रदान करना है जबकि वैध उपयोगकर्ताओं के लिए घर्षण को कम करना, बॉट्स और हमलों के बढ़ते परिष्कार के अनुकूल होना है।
- reCAPTCHA v2 डेमो
reCAPTCHA v2 डेमो देखें- reCAPTCHA v3 डेमो
reCAPTCHA v3 डेमो देखें- reCAPTCHA Enterprise डेमो
reCAPTCHA Enterprise के बारे में और जानें
प्रत्येक भाषा reCAPTCHA चुनौतियों को संभालने के मामले में अद्वितीय ताकत प्रदान करती है:
पायथन अपनी सादगी और बड़े पुस्तकालयों के लिए जाना जाता है जो वेब स्वचालन और डेटा स्क्रैपिंग की सुविधा प्रदान करते हैं। सेलेनियम और प्लेराइट जैसे पुस्तकालयों का उपयोग करके, आप आसानी से ब्राउज़र कार्यों को स्वचालित कर सकते हैं और उचित उपकरणों के साथ CAPTCHA को बायपास कर सकते हैं।
जावा एंटरप्राइज़-स्तरीय अनुप्रयोगों और क्रॉस-प्लेटफ़ॉर्म परियोजनाओं के लिए बहुत अच्छा है। सेलेनियम वेबड्राइवर जैसे इसकी मल्टीथ्रेडिंग क्षमताएं और ढाँचे स्केलेबल सिस्टम में सहज reCAPTCHA हैंडलिंग की अनुमति देते हैं।
सी++ प्रदर्शन लाभ प्रदान करता है, जो इसे उन प्रणालियों के लिए आदर्श बनाता है जिनके लिए गति और कम विलंबता की आवश्यकता होती है। हालाँकि स्वचालन के लिए कम सामान्यतः उपयोग किया जाता है, इसे reCAPTCHA चुनौतियों को उच्च-प्रदर्शन वाले वातावरणों में हल करने के लिए अन्य उपकरणों के साथ एकीकृत किया जा सकता है।
जैसे ही आप आगे बढ़ेंगे, आप देखेंगे कि विकसित होने वाले एल्गोरिदम और जटिलताओं के कारण reCAPTCHA चुनौतियों को हल करना मुश्किल हो सकता है। यहीं पर CapSolver आता है। यह एक विशेष सेवा है जो उच्च सटीकता के साथ reCAPTCHA-समाधान प्रक्रिया को स्वचालित करती है, reCAPTCHA v2, reCAPTCHA v3, और बहुत कुछ सहित कई CAPTCHA प्रकारों को संभालती है। अपनी पायथन, जावा या सी++ परियोजना में CapSolver को एकीकृत करके, आप अपनी स्क्रिप्ट को सुचारू रूप से और कुशलतापूर्वक चलाने की अनुमति देते हुए, CAPTCHA को हल करने की जटिलता को एक समर्पित सेवा में सौंप सकते हैं।
अगला, हम प्रत्येक भाषा के लिए नमूना कोड के माध्यम से चलेंगे और आप अपनी परियोजना में CapSolver को कैसे जल्दी से एकीकृत कर सकते हैं...
शीर्ष कैप्चा समाधानों के लिए अपना बोनस कोड क्लेम करें; CapSolver: WEBS. इसे रिडीम करने के बाद, आपको प्रत्येक रिचार्ज के बाद अतिरिक्त 5% बोनस मिलेगा, असीमित
चरण 1. साइट कुंजी प्राप्त करें
V2 और V3 दोनों के लिए, आप ब्राउज़र अनुरोध लॉग में अनुरोध /recaptcha/api2/reload?k=6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf की खोज कर सकते हैं, जहाँ k= वह कुंजी मान है जिसकी हमें आवश्यकता है
चरण 2. V2 और V3 के बीच अंतर करें
V2 और V3 में अलग-अलग हैंडलिंग विधियाँ हैं। V2 को उत्तरों का चयन करने के लिए छवि पहचान की आवश्यकता होती है, जबकि V3 अपेक्षाकृत विनीत है; हालाँकि, V3 को सत्यापन के दौरान एक क्रिया प्रदान करने की आवश्यकता होती है। पहले प्राप्त की गई कुंजी मान के आधार पर, प्रतिक्रिया पृष्ठ की खोज करें, और आपको पृष्ठ में क्रिया मान मिलेगा

चरण 3. CapSolver सेवा को कॉल करें
/recaptcha/api2/reload अनुरोध के बाद, मार्ग टोकन प्राप्त करने के लिए आमतौर पर /recaptcha/api2/userverify अनुरोध की आवश्यकता होती है;/recaptcha/api2/reload अनुरोध सीधे मार्ग टोकन प्राप्त कर सकता है# pip install requests
import requests
import time
# TODO: set your config
api_key = "YOUR_API_KEY" # your api key of capsolver
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-" # site key of your target site
site_url = "https://www.google.com/recaptcha/api2/demo" # page url of your target site
# site_key = "6LelzS8UAAAAAGSL60ADV5rcEtK0x0lRsHmrtm62"
# site_url = "https://mybaragar.com/index.cfm?event=page.SchoolLocatorPublic&DistrictCode=BC45"
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV2TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Failed to create task:", res.text)
return
print(f"Got taskId: {task_id} / Getting result...")
while True:
time.sleep(3) # delay
payload = {"clientKey": api_key, "taskId": task_id}
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
token = capsolver()
print(token)
# pip install requests
import requests
import time
# TODO: set your config
api_key = "YOUR_API_KEY" # your api key of capsolver
site_key = "6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf" # site key of your target site
site_url = "https://antcpt.com/score_detector/" # page url of your target site
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV3TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url,
"pageAction": "homepage",
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Failed to create task:", res.text)
return
print(f"Got taskId: {task_id} / Getting result...")
while True:
time.sleep(1) # delay
payload = {"clientKey": api_key, "taskId": task_id}
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
# verify score
def score_detector(token):
headers = {
"accept": "application/json, text/javascript, */*; q=0.01",
"accept-language": "fr-CH,fr;q=0.9",
"content-type": "application/json",
"origin": "https://antcpt.com",
"priority": "u=1, i",
"referer": "https://antcpt.com/score_detector/",
"sec-ch-ua": "\"Not/A)Brand\";v=\"8\", \"Chromium\";v=\"126\", \"Google Chrome\";v=\"126\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"macOS\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
"x-requested-with": "XMLHttpRequest"
}
url = "https://antcpt.com/score_detector/verify.php"
data = {
"g-recaptcha-response": token
}
data = json.dumps(data, separators=(',', ':'))
response = requests.post(url, headers=headers, data=data)
print(response.json())
print(response)
token = capsolver()
print(token)
...
...
{
'success': True,
'challenge_ts': '2024-07-19T10:50:56Z',
'hostname': 'antcpt.com',
'score': 0.7,
'action': 'homepage'
}
इससे पहले कि हम कोड में उतरें, कुछ पूर्वापेक्षाएँ हैं जो आपको इस ट्यूटोरियल का सफलतापूर्वक पालन करने के लिए जगह में होनी चाहिए:
एक बार जब आप इन पूर्वापेक्षाओं को पूरा कर लेते हैं, तो आप अपना वातावरण स्थापित करने के लिए तैयार हैं और जावास्क्रिप्ट और CapSolver के साथ reCAPTCHA चुनौतियों को हल करना शुरू कर सकते हैं।
/recaptcha/api2/reload?k=6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-, जहाँ k= के बाद का मान वह साइट कुंजी है जिसकी हमें आवश्यकता है। या आप CapSolver एक्सटेंशन के माध्यम से recapctha को हल करने के लिए सभी पैरामीटर पा सकते हैंpip install requests
import requests
import time
from DrissionPage import ChromiumPage
# Create an instance of ChromiumPage
page = ChromiumPage()
# Access the example page that triggers reCAPTCHA
page.get("https://www.google.com/recaptcha/api2/demo")
# TODO: Set your configuration
api_key = "your api key of capsolver" # Your CapSolver API key
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-" # Site key of your target site
site_url = "https://www.google.com/recaptcha/api2/demo" # Page URL of your target site
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV2TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url
}
}
# Send a request to CapSolver to create a task
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Failed to create task:", res.text)
return
print(f"Got taskId: {task_id} / Getting result...")
while True:
time.sleep(3) # Delay
payload = {"clientKey": api_key, "taskId": task_id}
# Query task results
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("Solve failed! response:", res.text)
return
def check():
# Get the reCAPTCHA solution
token = capsolver()
# Set the reCAPTCHA response value
page.run_js(f'document.getElementById("g-recaptcha-response").value="{token}"')
# Call the success callback function
page.run_js(f'onSuccess("{token}")')
# Submit the form
page.ele('x://input[@id="recaptcha-demo-submit"]').click()
if __name__ == '__main__':
check()
शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित पुस्तकालय स्थापित हैं:
आप इनको vcpkg का उपयोग करके इंस्टॉल कर सकते हैं:
vcpkg install cpr jsoncpp
एक नई C++ प्रोजेक्ट बनाएँ और cpr और jsoncpp के लिए आवश्यक शीर्षलेख शामिल करें।
#include <iostream>
#include <cpr/cpr.h>
#include <json/json.h>
हम दो मुख्य कार्य परिभाषित करेंगे: createTask और getTaskResult.
यहाँ पूरा कोड दिया गया है:
#include <iostream>
#include <cpr/cpr.h>
#include <json/json.h>
std::string createTask(const std::string& apiKey, const std::string& websiteURL, const std::string& websiteKey) {
Json::Value requestBody;
requestBody["clientKey"] = apiKey;
requestBody["task"]["type"] = "ReCaptchaV2Task";
requestBody["task"]["websiteURL"] = websiteURL;
requestBody["task"]["websiteKey"] = websiteKey;
Json::StreamWriterBuilder writer;
std::string requestBodyStr = Json::writeString(writer, requestBody);
cpr::Response response = cpr::Post(
cpr::Url{"https://api.capsolver.com/createTask"},
cpr::Body{requestBodyStr},
cpr::Header{{"Content-Type", "application/json"}}
);
Json::CharReaderBuilder reader;
Json::Value responseBody;
std::string errs;
std::istringstream s(response.text);
std::string taskId;
if (Json::parseFromStream(reader, s, &responseBody, &errs)) {
if (responseBody["errorId"].asInt() == 0) {
taskId = responseBody["taskId"].asString();
} else {
std::cerr << "Error: " << responseBody["errorCode"].asString() << std::endl;
}
} else {
std::cerr << "Failed to parse response: " << errs << std::endl;
}
return taskId;
}
std::string getTaskResult(const std::string& apiKey, const std::string& taskId) {
Json::Value requestBody;
requestBody["clientKey"] = apiKey;
requestBody["taskId"] = taskId;
Json::StreamWriterBuilder writer;
std::string requestBodyStr = Json::writeString(writer, requestBody);
while (true) {
cpr::Response response = cpr::Post(
cpr::Url{"https://api.capsolver.com/getTaskResult"},
cpr::Body{requestBodyStr},
cpr::Header{{"Content-Type", "application/json"}}
);
Json::CharReaderBuilder reader;
Json::Value responseBody;
std::string errs;
std::istringstream s(response.text);
if (Json::parseFromStream(reader, s, &responseBody, &errs)) {
if (responseBody["status"].asString() == "ready") {
return responseBody["solution"]["gRecaptchaResponse"].asString();
} else if (responseBody["status"].asString() == "processing") {
std::cout << "Task is still processing, waiting for 5 seconds..." << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(5));
} else {
std::cerr << "Error: " << responseBody["errorCode"].asString() << std::endl;
break;
}
} else {
std::cerr << "Failed to parse response: " << errs << std::endl;
break;
}
}
return "";
}
int main() {
std::string apiKey = "YOUR_API_KEY";
std::string websiteURL = "https://example.com";
std::string websiteKey = "SITE_KEY";
std::string taskId = createTask(apiKey, websiteURL, websiteKey);
if (!taskId.empty()) {
std::cout << "Task created successfully. Task ID: " << taskId << std::endl;
std::string recaptchaResponse = getTaskResult(apiKey, taskId);
std::cout << "reCAPTCHA Response: " << recaptchaResponse << std::endl;
} else {
std::cerr << "Failed to create task." << std::endl;
}
return 0;
}
जैसे ही मैं समाप्त करता हूँ, मैं विश्वास के साथ कह सकता हूँ कि CapSolver को अपनी परियोजनाओं में एकीकृत करने से reCAPTCHA चुनौतियों को संभालना बहुत आसान हो गया है। चाहे वह V2 हो या V3, प्रक्रिया सरल है और इसने मुझे बहुत समय बचाया है। यदि आप समान चुनौतियों का सामना कर रहे हैं, तो मैं आपको CapSolver को आज़माने की अत्यधिक अनुशंसा करता हूँ—यह मेरे लिए एक गेम-चेंजर रहा है।
सीखें अनगिनत कैप्चा को बिना रुके हुए हल करें सबसे अच्छे कैप्चा सॉल्वर के साथ, एक विस्तृत गाइड जो कैप्चा समाधानों के सेटअप और स्वचालन के बारे में है

इस गाइड में नोड.जे.एस और समाधान टूल के उपयोग के माध्यम से reCAPTCHA v2 और v3 को आसानी से हल करना सीखें। आज अपने ऑटोमेशन खेल को बढ़ाएं!
