Amazon Captcha
अवलोकन
Amazon Captcha एक प्रमाणीकरण प्रणाली है जिसका उपयोग Amazon अपनी वेबसाइटों को बॉट्स और स्वचालित गतिविधियों से बचाने के लिए करता है। यह एक विशेष रूप से विकृत टेक्स्ट कैप्चा है जो केवल Amazon सिस्टम पर दिखाई देता है।
🛒
Amazon Captcha आमतौर पर लॉगिन, उत्पाद खोजों के दौरान या जब Amazon आपके IP पते से असामान्य व्यवहार का पता लगाता है, तब दिखाई देता है।

1. अनुरोध बनाएँ
अनुरोध
POST https://api.achicaptcha.com/createTask
पैरामीटर्स
| पैरामीटर नाम | डेटा प्रकार | आवश्यक? | विवरण |
|---|---|---|---|
clientKey | string | हाँ | Api key |
task.type | string | हाँ | ImageToTextTask |
task.image | string | हाँ | Amazon कैप्चा इमेज का base64 |
task.subType | string | हाँ | amazon |
अनुरोध उदाहरण
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ImageToTextTask",
"image": "base64 encoded Amazon captcha image",
"subType": "amazon"
}
}प्रतिक्रिया
सफलता पर, सर्वर 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": "KCXM8P"
}स्थिति स्पष्टीकरण
errorId = 0औरstatus = ready: सफलतापूर्वक हल किया गया,solutionमें परिणाम पढ़ेंerrorId = 0औरstatus = processing: कैप्चा हल किया जा रहा है, 2 सेकंड प्रतीक्षा करें और पुनः प्रयास करेंerrorId > 0: सिस्टम त्रुटि, त्रुटि कोड और विवरण लौटाता है
एकीकरण उदाहरण
import requests
import time
import base64
def solve_amazon_captcha(image_path, api_key='YOUR_API_KEY'):
# Read and encode image
with open(image_path, 'rb') as image_file:
image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
# Step 1: Create task
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'ImageToTextTask',
'image': image_base64,
'subType': 'amazon'
}
}
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
solution = solve_amazon_captcha('amazon_captcha.png', 'YOUR_API_KEY')
print('Amazon captcha result:', solution)सामान्य त्रुटि कोड
| त्रुटि कोड | विवरण | नोट्स |
|---|---|---|
| 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. छवि गुणवत्ता
- उच्च-रिज़ॉल्यूशन छवियों का उपयोग करें
- सुनिश्चित करें कि छवियां अत्यधिक धुंधली या शोरगुल वाली नहीं हैं
- सही Amazon कैप्चा क्षेत्र कैप्चर या क्रॉप करें
2. पोलिंग अंतराल
- परिणाम जाँचों के बीच कम से कम 2 सेकंड प्रतीक्षा करें
- बहुत अधिक लगातार अनुरोधों के साथ API को स्पैम न करें
- अनंत लूप से बचने के लिए टाइमआउट रखें
3. पुनः प्रयास तर्क
ERROR_NO_SLOT_AVAILABLEजैसी अस्थायी त्रुटियों के लिए पुनः प्रयास लागू करें- पुनः प्रयास करते समय घातीय बैकऑफ़ (exponential backoff) का उपयोग करें
- पुनः प्रयासों की अधिकतम संख्या सीमित करें
4. API कुंजी सुरक्षा
- कोड में API कुंजी को हार्डकोड न करें
- पर्यावरण चर (environment variables) का उपयोग करें
- क्लाइंट-साइड पर API कुंजी को उजागर न करें
उपयोगी लिंक: