Amazon Captcha
Tổng quan
Amazon Captcha là hệ thống xác thực được sử dụng bởi Amazon để bảo vệ các trang web của họ khỏi bot và các hoạt động tự động. Đây là loại captcha chữ có độ méo đặc biệt, chỉ xuất hiện trên hệ thống Amazon.
🛒
Amazon Captcha thường xuất hiện khi có hoạt động đăng nhập, tìm kiếm sản phẩm hoặc khi Amazon phát hiện hành vi bất thường từ địa chỉ IP của bạn.

1. Tạo yêu cầu
Request
POST https://api.achicaptcha.com/createTask
Tham số
| Tên param | Kiểu dữ liệu | Bắt buộc? | Mô tả |
|---|---|---|---|
clientKey | string | yes | Api key |
task.type | string | yes | ImageToTextTask |
task.image | string | yes | base64 của hình ảnh captcha Amazon |
task.subType | string | yes | amazon |
Ví dụ Request
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "API_KEY của bạn",
"task": {
"type": "ImageToTextTask",
"image": "base64 encoded của ảnh Amazon captcha",
"subType": "amazon"
}
}Response
Khi thành công, server sẽ trả về errorId = 0 và taskId
{
"errorId": 0,
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}2. Lấy kết quả
Request
POST https://api.achicaptcha.com/getTaskResult
Tham số
| Tên param | Kiểu dữ liệu | Bắt buộc? | Mô tả |
|---|---|---|---|
clientKey | string | yes | Api key |
taskId | string | yes | TaskId lấy từ (1) |
Ví dụ Request
POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "API_KEY của bạn",
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}Response
{
"errorId": 0,
"status": "ready",
"solution": "KCXM8P"
}Giải thích trạng thái
errorId = 0vàstatus = ready: Giải thành công, đọc kết quả trongsolutionerrorId = 0vàstatus = processing: Đang giải captcha, đợi 2 giây rồi thử lạierrorId > 0: Lỗi hệ thống, đưa ra mã lỗi và mô tả lỗi
Ví dụ tích hợp
import requests
import time
import base64
def solve_amazon_captcha(image_path, api_key='YOUR_API_KEY'):
# Đọc và encode hình ảnh
with open(image_path, 'rb') as image_file:
image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
# Bước 1: Tạo 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']
# Bước 2: Lấy kết quả
get_result_url = 'https://api.achicaptcha.com/getTaskResult'
while True:
time.sleep(2) # Đợi 2 giây
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']
# Nếu status == 'processing', tiếp tục loop
# Sử dụng
solution = solve_amazon_captcha('amazon_captcha.png', 'YOUR_API_KEY')
print('Kết quả Amazon captcha:', solution)Các mã lỗi thường gặp
| Mã lỗi | Mô tả | Chú thích |
|---|---|---|
| 0 | success | Thành công |
| 1 | processing | Đang xử lý |
| 2 | missing required fields | Thiếu trường bắt buộc, kiểm tra lại tham số |
| 3 | task not supported | Loại task không được hỗ trợ |
| 4 | task creation failed | Tạo task thất bại |
| 5 | client key does not exist | API key không tồn tại, kiểm tra lại API key |
| 6 | insufficient account balance | Số dư tài khoản không đủ, nạp thêm credit |
| 7 | task failed, please create a new task | Task thất bại, vui lòng tạo task mới |
| 8 | task ID does not exist | Task ID không tồn tại |
Best Practices
Để đạt hiệu quả tốt nhất khi sử dụng API Achicaptcha, hãy tuân thủ các nguyên tắc sau:
1. Chất lượng hình ảnh
- Sử dụng hình ảnh có độ phân giải tốt
- Đảm bảo hình ảnh không bị mờ hoặc nhiễu quá mức
- Chụp hoặc crop đúng vùng captcha của Amazon
2. Polling interval
- Đợi ít nhất 2 giây giữa các lần kiểm tra kết quả
- Không spam API với quá nhiều request liên tiếp
- Có timeout để tránh vòng lặp vô hạn
3. Retry logic
- Implement retry cho các lỗi tạm thời như
ERROR_NO_SLOT_AVAILABLE - Sử dụng exponential backoff khi retry
- Giới hạn số lần retry tối đa
4. Bảo mật API key
- Không hardcode API key trong code
- Sử dụng biến môi trường
- Không expose API key ra client-side
Liên kết hữu ích: