Skip to content
API
Amazon Captcha

Amazon Captcha

ภาพรวม

Amazon Captcha เป็นระบบยืนยันตัวตนที่ Amazon ใช้เพื่อป้องกันเว็บไซต์จากบอทและกิจกรรมอัตโนมัติ นี่คือแคปช่าข้อความที่บิดเบี้ยวเป็นพิเศษซึ่งปรากฏเฉพาะในระบบของ Amazon เท่านั้น

🛒

Amazon Captcha มักจะปรากฏขึ้นระหว่างการเข้าสู่ระบบ การค้นหาผลิตภัณฑ์ หรือเมื่อ Amazon ตรวจพบพฤติกรรมที่ผิดปกติจากที่อยู่ IP ของคุณ

Amazon Captcha Amazon Captcha

1. สร้างคำขอ

คำขอ

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

พารามิเตอร์

ชื่อพารามิเตอร์ชนิดข้อมูลจำเป็น?คำอธิบาย
clientKeystringใช่คีย์ API
task.typestringใช่ImageToTextTask
task.imagestringใช่base64 ของรูปภาพ Amazon captcha
task.subTypestringใช่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

พารามิเตอร์

ชื่อพารามิเตอร์ชนิดข้อมูลจำเป็น?คำอธิบาย
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": "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)

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

รหัสข้อผิดพลาดคำอธิบายหมายเหตุ
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. คุณภาพของรูปภาพ

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

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

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

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

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

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

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

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