Temu Grid Captcha
अवलोकन
Temu Grid Captcha एक ग्रिड चयन कैप्चा है: पेज टाइल्स की ग्रिड दिखाता है और सॉल्वर को क्लिक करने के लिए कौन सी सेल हैं यह वापस करना होगा (0-आधारित इंडेक्स, पंक्ति-प्रमुख: बाएं से दाएं, ऊपर से नीचे)।
🔲
task.image फ़ील्ड ग्रिड छवि को एकल Base64 स्ट्रिंग के रूप में एनकोड करता है। कोई अतिरिक्त other फ़ील्ड की आवश्यकता नहीं है।

1. कार्य बनाएं
छवि सबमिशन प्रारूप
ग्रिड छवि

अनुरोध
POST https://api.achicaptcha.com/createTask
पैरामीटर
| पैरामीटर नाम | डेटा प्रकार | आवश्यक? | विवरण |
|---|---|---|---|
clientKey | string | yes | API key |
task.type | string | yes | GridCaptcha |
task.subType | string | yes | temu |
task.image | string | yes | Base64-एनकोडेड ग्रिड छवि |
अनुरोध उदाहरण
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "GridCaptcha",
"subType": "temu",
"image": "BASE64_GRID_IMAGE"
}
}प्रतिक्रिया
सफल होने पर, सर्वर वापस करता है errorId = 0 और taskId
{
"errorId": 0,
"taskId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}2. परिणाम प्राप्त करें
अनुरोध
POST https://api.achicaptcha.com/getTaskResult
पैरामीटर
| पैरामीटर नाम | डेटा प्रकार | आवश्यक? | विवरण |
|---|---|---|---|
clientKey | string | yes | API key |
taskId | string | yes | चरण (1) से प्राप्त TaskId |
अनुरोध उदाहरण
POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}प्रतिक्रिया
{
"errorId": 0,
"status": "ready",
"solution": {
"click": "0,2,5"
}
}solution.click ग्रिड में क्लिक करने के लिए 0-आधारित सेल इंडेक्स (पंक्ति-प्रमुख) की अल्पविराम-पृथक स्ट्रिंग है।
स्थिति विवरण
errorId = 0औरstatus = ready: सफलतापूर्वक हल,solution.clickमें सेल इंडेक्स पढ़ेंerrorId = 0औरstatus = processing: अभी हल हो रहा है, 2 सेकंड प्रतीक्षा करें और फिर जांचेंerrorId > 0: सिस्टम त्रुटि,errorCodeऔरerrorDescriptionजांचें
एकीकरण उदाहरण
import requests
import base64
import time
def solve_temu(grid_path, api_key='YOUR_API_KEY'):
with open(grid_path, 'rb') as f:
grid_b64 = base64.b64encode(f.read()).decode()
# चरण 1: कार्य बनाएं
create_resp = requests.post(
'https://api.achicaptcha.com/createTask',
json={
'clientKey': api_key,
'task': {
'type': 'GridCaptcha',
'subType': 'temu',
'image': grid_b64
}
}
)
result = create_resp.json()
if result['errorId'] != 0:
raise Exception(result['errorDescription'])
task_id = result['taskId']
# चरण 2: परिणाम की जांच करें
while True:
time.sleep(2)
poll_resp = requests.post(
'https://api.achicaptcha.com/getTaskResult',
json={'clientKey': api_key, 'taskId': task_id}
)
result = poll_resp.json()
if result['errorId'] != 0:
raise Exception(result['errorDescription'])
if result['status'] == 'ready':
return result['solution']['click'] # e.g. "0,2,5"
# उपयोग
indices = solve_temu('grid.jpg', 'YOUR_API_KEY')
print('क्लिक करने के लिए सेल:', indices)सामान्य त्रुटि कोड
| त्रुटि कोड | विवरण | नोट्स |
|---|---|---|
| 0 | success | सफलता |
| 1 | processing | प्रसंस्करण |
| 2 | missing required fields | आवश्यक फ़ील्ड गुम, पैरामीटर जांचें |
| 3 | task not supported | कार्य प्रकार समर्थित नहीं |
| 4 | task creation failed | कार्य निर्माण विफल |
| 5 | client key does not exist | API key मौजूद नहीं, कुंजी जांचें |
| 6 | insufficient account balance | अपर्याप्त खाता शेष, क्रेडिट जोड़ें |
| 7 | task failed, please create a new task | कार्य विफल, नया कार्य बनाएं |
| 8 | task ID does not exist | कार्य ID मौजूद नहीं |
सर्वोत्तम प्रथाएं
Temu Grid Captcha के लिए Achicaptcha API का उपयोग करते समय सर्वोत्तम परिणामों के लिए इन सिद्धांतों का पालन करें:
1. छवि एनकोडिंग
- केवल ग्रिड छवि को एकल Base64 स्ट्रिंग के रूप में भेजें
data:image/...;base64,उपसर्ग न शामिल करें — केवल कच्चा Base64- भेजने से पहले सुनिश्चित करें कि छवि पूरी तरह लोड और एनकोड है
2. पोलिंग अंतराल
- परिणाम जांच के बीच कम से कम 2 सेकंड प्रतीक्षा करें
- लगातार अनुरोधों से API को स्पैम न करें
- अनंत लूप से बचने के लिए टाइमआउट सेट करें (अनुशंसित: 60 सेकंड)
3. परिणाम प्रसंस्करण
solution.click0-आधारित सेल इंडेक्स (पंक्ति-प्रमुख, बाएं से दाएं, ऊपर से नीचे) की अल्पविराम-पृथक स्ट्रिंग है- संबंधित ग्रिड सेल क्लिक करने से पहले
,से विभाजित करें और पूर्णांक में बदलें
4. पुनः प्रयास तर्क
ERROR_NO_SLOT_AVAILABLEजैसी अस्थायी त्रुटियों के लिए पुनः प्रयास लागू करें- पुनः प्रयास करते समय एक्सपोनेंशियल बैकऑफ़ का उपयोग करें
- अधिकतम पुनः प्रयास प्रयासों की संख्या सीमित करें
5. API कुंजी सुरक्षा
- अपनी API कुंजी को सोर्स कोड में हार्डकोड न करें
- एनवायरनमेंट वेरिएबल या सीक्रेट्स मैनेजर का उपयोग करें
- क्लाइंट साइड पर API कुंजी कभी न उजागर करें
उपयोगी लिंक: