Skip to content
API
Captcha ข้อความ

Text Captcha

ภาพรวม

Text captcha มาตรฐานคือรูปภาพที่มีข้อความบิดเบี้ยวซึ่งมนุษย์สามารถอ่านได้ ในการแก้รูปภาพแคปช่า ผู้ใช้ต้องป้อนข้อความจากรูปภาพ

📝

Text captcha อาจรวมถึงตัวเลข ตัวอักษร หรือทั้งสองอย่างรวมกัน โดยทั่วไปจะใช้การบิดเบือนรูปภาพ สัญญาณรบกวน และแบบอักษรต่างๆ เพื่อให้การอ่านอัตโนมัติทำได้ยาก

Common text captcha

1. สร้างงาน

คำขอ

POST https://api.achicaptcha.com/createTask

พารามิเตอร์

พารามิเตอร์ชนิดข้อมูลจำเป็น?คำอธิบาย
clientKeystringใช่คีย์ API
task.typestringใช่ImageToTextTask
task.imagestringใช่Base64 ของรูปภาพ
task.subTypestringใช่หนึ่งในประเภทต่อไปนี้: common, amazon, microsoft, facebook, garena, artistshot, gmx, 11166, houssam

ตัวอย่างคำขอ

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "Your API_KEY",
  "task": {
    "type": "ImageToTextTask",
    "image": "base64 encoded image",
    "subType": "gmx"
  }
}

การตอบกลับ

เมื่อสำเร็จ เซิร์ฟเวอร์จะส่งคืน errorId = 0 และ taskId

{
  "errorId": 0,
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

2. รับผลลัพธ์

คำขอ

POST https://api.achicaptcha.com/getTaskResult

พารามิเตอร์

พารามิเตอร์ชนิดข้อมูลจำเป็น?คำอธิบาย
clientKeystringใช่คีย์ API
taskIdstringใช่TaskId จากขั้นตอน (1)

ตัวอย่างคำขอ

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": "swamn"
}

คำอธิบายสถานะ

  • errorId = 0 และ status = ready: แก้ไขสำเร็จ อ่านผลลัพธ์ใน solution.text
  • errorId = 0 และ status = processing: กำลังแก้แคปช่า รอ 2 วินาทีแล้วลองอีกครั้ง
  • errorId > 0: ข้อผิดพลาดของระบบ ระบุรหัสข้อผิดพลาดและคำอธิบาย

ตัวเลือก SubType

Achicaptcha รองรับ text captcha หลายประเภทผ่านพารามิเตอร์ subType:

SubTypeคำอธิบาย
commonText captcha ทั่วไป ยอดนิยมที่สุด
amazonแคปช่าเฉพาะของ Amazon ที่มีการบิดเบือนพิเศษ
microsoftแคปช่าที่ใช้ในบริการของ Microsoft
facebookแคปช่า Facebook ที่มีแบบอักษรเฉพาะตัว
garenaแคปช่าบนแพลตฟอร์ม Garena
artistshotแคปช่าจากเว็บไซต์ Artistshot
gmxแคปช่าอีเมล GMX
11166ประเภทแคปช่าพิเศษที่มีรหัส 11166
houssamประเภทแคปช่าเฉพาะชื่อ Houssam
discordประเภทแคปช่าเฉพาะของ Discord
okvipประเภทแคปช่าเฉพาะของ OKVIP
shopeeประเภทแคปช่าเฉพาะของ Shopee
📝

โดยทั่วไป subType: common สามารถจัดการ text captcha ได้ทุกประเภท หาก text captcha ของเว็บไซต์ของคุณมีความเฉพาะเจาะจงเกินไป โปรดติดต่อ admin (opens in a new tab) เพื่อขอความช่วยเหลือ

ตัวอย่างการรวมระบบ

import requests
import time
import base64
 
def solve_captcha(image_path, sub_type='common', 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': sub_type
        }
    }
    
    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_captcha('captcha.png', 'common', 'YOUR_API_KEY')
print('Captcha result:', solution)

รหัสข้อผิดพลาดทั่วไป

รหัสข้อผิดพลาดคำอธิบายหมายเหตุ
0successสำเร็จ
1processingกำลังประมวลผล
2missing required fieldsขาดฟิลด์ที่จำเป็น ตรวจสอบพารามิเตอร์
3task not supportedไม่รองรับประเภทงาน
4task creation failedการสร้างงานล้มเหลว
5client key does not existไม่มีคีย์ API ตรวจสอบคีย์ API ของคุณ
6insufficient account balanceยอดเงินในบัญชีไม่เพียงพอ เติมเครดิต
7task failed, please create a new taskงานล้มเหลว โปรดสร้างงานใหม่
8task ID does not existไม่มี ID งาน

แนวทางปฏิบัติที่ดีที่สุด

เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดเมื่อใช้ Achicaptcha API ให้ปฏิบัติตามหลักการเหล่านี้:

1. คุณภาพของรูปภาพ

  • ใช้รูปภาพที่มีความละเอียดดี
  • ตรวจสอบให้แน่ใจว่ารูปภาพไม่เบลอหรือมีสัญญาณรบกวนมากเกินไป
  • เลือก subType ที่เหมาะสมสำหรับประเภทแคปช่าของคุณ

2. ช่วงเวลาการตรวจสอบ

  • รออย่างน้อย 2 วินาทีระหว่างการตรวจสอบผลลัพธ์
  • อย่าสแปม API ด้วยคำขอที่ต่อเนื่องกันมากเกินไป
  • ตั้งค่าการหมดเวลาเพื่อหลีกเลี่ยงลูปไม่สิ้นสุด

3. ตรรกะการลองใหม่

  • ใช้การลองใหม่สำหรับข้อผิดพลาดชั่วคราว เช่น ERROR_NO_SLOT_AVAILABLE
  • ใช้ exponential backoff เมื่อลองใหม่
  • จำกัดจำนวนการลองใหม่สูงสุด

4. ความปลอดภัยของคีย์ API

  • อย่าฮาร์ดโค้ดคีย์ API ในโค้ด
  • ใช้ตัวแปรสภาพแวดล้อม
  • อย่าเปิดเผยคีย์ API ทางฝั่งไคลเอนต์

ลิงก์ที่มีประโยชน์: