ReCAPTCHA
अवलोकन
Google reCAPTCHA दुनिया में सबसे लोकप्रिय कैप्चा प्रणाली है, जिसका उपयोग लाखों वेबसाइटों द्वारा स्पैम और बॉट्स से बचाने के लिए किया जाता है। Achicaptcha वर्तमान में उच्च सफलता दर के साथ reCAPTCHA v2 का समर्थन करता है।
⚠️
वर्तमान में Achicaptcha केवल reCAPTCHA v2 का समर्थन करता है। reCAPTCHA v3 और Enterprise अभी तक समर्थित नहीं हैं।

1. कार्य बनाएँ
अनुरोध
POST https://api.achicaptcha.com/createTask
पैरामीटर्स
| पैरामीटर नाम | डेटा प्रकार | आवश्यक? | विवरण |
|---|---|---|---|
clientKey | string | हाँ | Api key |
task.type | string | हाँ | RecaptchaV2TaskProxyless अल्ट्रा-फास्ट सॉल्विंग के लिए RecaptchaV2TaskProxylessNormal सामान्य सॉल्विंग के लिए |
task.websiteURL | string | हाँ | कैप्चा वाली वेबसाइट का URL |
task.websiteKey | string | हाँ | reCAPTCHA साइटकी |
अनुरोध उदाहरण
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}प्रतिक्रिया
सफल होने पर, सर्वर errorId = 0 और taskId लौटाता है
{
"errorId": 0,
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}2. परिणाम प्राप्त करें
अनुरोध
POST https://api.achicaptcha.com/getTaskResult
पैरामीटर्स
| पैरामीटर नाम | डेटा प्रकार | आवश्यक? | विवरण |
|---|---|---|---|
clientKey | string | हाँ | Api key |
taskId | string | हाँ | (1) से प्राप्त TaskId |
अनुरोध उदाहरण
POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}प्रतिक्रिया
{
"errorId": 0,
"status": "ready",
"solution": "03AGdBq27QGA96FJRo3mtz..."
}स्थिति स्पष्टीकरण
errorId = 0औरstatus = ready: सफलतापूर्वक हल किया गया,solutionमें परिणाम पढ़ेंerrorId = 0औरstatus = processing: कैप्चा हल किया जा रहा है, 2 सेकंड प्रतीक्षा करें और पुनः प्रयास करेंerrorId > 0: सिस्टम त्रुटि, त्रुटि कोड और विवरण लौटाता है
एकीकरण उदाहरण
import requests
import time
def solve_recaptcha_v2(website_url, website_key, api_key='YOUR_API_KEY'):
# Step 1: Create task
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'RecaptchaV2TaskProxyless',
'websiteURL': website_url,
'websiteKey': website_key
}
}
response = requests.post(create_task_url, json=create_task_payload)
result = response.json()
if result['errorId'] != 0:
raise Exception(result['errorDescription'])
task_id = result['taskId']
# Step 2: Get result
get_result_url = 'https://api.achicaptcha.com/getTaskResult'
while True:
time.sleep(2) # Wait 2 seconds
get_result_payload = {
'clientKey': api_key,
'taskId': task_id
}
response = requests.post(get_result_url, json=get_result_payload)
result = response.json()
if result['errorId'] != 0:
raise Exception(result['errorDescription'])
if result['status'] == 'ready':
return result['solution']
# If status == 'processing', continue loop
# Usage
website_url = 'https://www.google.com/recaptcha/api2/demo'
website_key = '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-'
token = solve_recaptcha_v2(website_url, website_key, 'YOUR_API_KEY')
print('reCAPTCHA token:', token)सामान्य त्रुटि कोड
| त्रुटि कोड | विवरण | नोट्स |
|---|---|---|
| 0 | success | सफलता |
| 1 | processing | प्रसंस्करण |
| 2 | missing required fields | आवश्यक फ़ील्ड गायब है, पैरामीटर फिर से जाँचें |
| 3 | task not supported | कार्य प्रकार समर्थित नहीं है |
| 4 | task creation failed | कार्य निर्माण विफल |
| 5 | client key does not exist | API कुंजी मौजूद नहीं है, API कुंजी फिर से जाँचें |
| 6 | insufficient account balance | अपर्याप्त खाता शेष, क्रेडिट टॉप अप करें |
| 7 | task failed, please create a new task | कार्य विफल, कृपया एक नया कार्य बनाएँ |
| 8 | task ID does not exist | कार्य ID मौजूद नहीं है |
सर्वोत्तम प्रथाएँ
Achicaptcha API का उपयोग करते समय सर्वोत्तम परिणामों के लिए, इन सिद्धांतों का पालन करें:
1. साइट कुंजी मान्य करें
- अनुरोध भेजने से पहले साइट कुंजी की जाँच करें
- सुनिश्चित करें कि
data-sitekeyविशेषता से प्राप्त साइट कुंजी सटीक है - सत्यापित करें कि वेबसाइट URL कैप्चा वाले पृष्ठ से मेल खाता है
2. टाइमआउट संभालें
- टोकन का समाप्ति समय होता है (आमतौर पर 120 सेकंड)
- प्राप्त करने के तुरंत बाद टोकन का उपयोग करें
- टोकन को बहुत लंबे समय तक कैश न करें
3. पोलिंग अंतराल
- परिणाम जाँचों के बीच कम से कम 2 सेकंड प्रतीक्षा करें
- बहुत अधिक लगातार अनुरोधों के साथ API को स्पैम न करें
- अनंत लूप से बचने के लिए टाइमआउट सेट करें (120 सेकंड अनुशंसित)
4. पुनः प्रयास तर्क
ERROR_NO_SLOT_AVAILABLEजैसी अस्थायी त्रुटियों के लिए पुनः प्रयास लागू करें- पुनः प्रयास करते समय घातीय बैकऑफ़ (exponential backoff) का उपयोग करें
- अधिकतम पुनः प्रयास प्रयासों को सीमित करें
5. API कुंजी सुरक्षा
- कोड में API कुंजी को हार्डकोड न करें
- पर्यावरण चर (environment variables) का उपयोग करें
- क्लाइंट-साइड पर API कुंजी को उजागर न करें
उपयोगी लिंक: