Funcaptcha Image
अवलोकन
FunCaptcha (जिसे Arkose Labs Captcha के रूप में भी जाना जाता है) एक इंटरैक्टिव कैप्चा प्रकार है जिसके लिए उपयोगकर्ताओं को चुनौतियों को हल करने के लिए छवियों को घुमाने, वस्तुओं को खींचने और छोड़ने जैसी क्रियाएं करने की आवश्यकता होती है। इसका उपयोग कई प्रमुख वेबसाइटों जैसे Roblox, Epic Games, Outlook, आदि द्वारा किया जाता है।
🎮
FunCaptcha को बॉट्स से बचाने और इंटरैक्टिव मिनी-गेम्स के माध्यम से उपयोगकर्ताओं के लिए "मजेदार" अनुभव बनाने दोनों के लिए डिज़ाइन किया गया है।

1. कार्य बनाएँ
अनुरोध
POST https://api.achicaptcha.com/createTask
पैरामीटर्स
| पैरामीटर नाम | डेटा प्रकार | आवश्यक? | विवरण |
|---|---|---|---|
clientKey | string | हाँ | Api key |
task.type | string | हाँ | FuncaptchaImageTask |
task.subType | string | हाँ | मान 1 के बराबर है |
task.image | string | हाँ | छवि का Base64 |
task.other | string | हाँ | प्रश्न उदाहरण: "Use the arrows to rotate the object to face in the direction of the hand" |
अनुरोध उदाहरण
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "FuncaptchaImageTask",
"subType": "1",
"image": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD...",
"other": "Use the arrows to rotate the object to face in the direction of the hand"
}
}प्रतिक्रिया
सफल होने पर, सर्वर 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": "1" // क्लिक करने के लिए छवि सूचकांक (0 से शुरू)
}स्थिति स्पष्टीकरण
errorId = 0औरstatus = ready: सफलतापूर्वक हल किया गया,solution.answer(छवि सूचकांकों की सरणी) में परिणाम पढ़ेंerrorId = 0औरstatus = processing: कैप्चा हल किया जा रहा है, 2 सेकंड प्रतीक्षा करें और पुनः प्रयास करेंerrorId > 0: सिस्टम त्रुटि, त्रुटि कोड और त्रुटि विवरण लौटाता है
एकीकरण उदाहरण
import requests
import time
def solve_funcaptcha_image(image_base64, question, 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': 'FuncaptchaImageTask',
'subType': '1',
'image': image_base64,
'other': question
}
}
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
image_base64 = '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD...' # Base64 of image
question = 'Use the arrows to rotate the object to face in the direction of the hand'
solution = solve_funcaptcha_image(image_base64, question, 'YOUR_API_KEY')
print('FunCaptcha solution:', 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 मौजूद नहीं है |
सर्वोत्तम प्रथाएँ
FunCaptcha Image के लिए Achicaptcha API का उपयोग करते समय सर्वोत्तम परिणामों के लिए, इन सिद्धांतों का पालन करें:
1. Base64 छवि प्रसंस्करण
- केवल एक छवि स्वीकार करता है। फोन उपयोगकर्ताओं के लिए, भेजने से पहले एक बड़ी छवि में मर्ज करें
- सुनिश्चित करें कि छवि Base64 प्रारूप में ठीक से एन्कोड की गई है
- यदि मौजूद हो तो उपसर्ग
data:image/...;base64,हटा दें - जाँचें कि छवि का आकार उचित है (बहुत बड़ा नहीं)
2. प्रश्न
- FunCaptcha चुनौती से सटीक प्रश्न प्रदान करें
- प्रश्न सिस्टम को चुनौती के प्रकार को बेहतर ढंग से समझने में मदद करता है
- उदाहरण: "Use the arrows to rotate the object to face in the direction of the hand"
3. पोलिंग अंतराल
- परिणाम जाँचों के बीच कम से कम 2 सेकंड प्रतीक्षा करें
- बहुत अधिक लगातार अनुरोधों के साथ API को स्पैम न करें
- अनंत लूप से बचने के लिए टाइमआउट सेट करें (छवि कार्यों के लिए 60 सेकंड अनुशंसित)
4. परिणाम प्रसंस्करण
- लौटाया गया परिणाम एक एकल संख्या है (सूचकांक 0 से शुरू)
- FunCaptcha को सबमिट करने के लिए इस परिणाम का उपयोग करें
5. पुनः प्रयास तर्क
ERROR_NO_SLOT_AVAILABLEजैसी अस्थायी त्रुटियों के लिए पुनः प्रयास लागू करें- पुनः प्रयास करते समय घातीय बैकऑफ़ (exponential backoff) का उपयोग करें
- अधिकतम पुनः प्रयास प्रयासों को सीमित करें
6. API कुंजी सुरक्षा
- कोड में API कुंजी को हार्डकोड न करें
- पर्यावरण चर (environment variables) का उपयोग करें
- क्लाइंट-साइड पर API कुंजी को उजागर न करें
उपयोगी लिंक: