Skip to content
API
ReCAPTCHA
Giải hình ảnh

ReCAPTCHA Image (Phone)

Tổng quan

Giải Recaptcha tốc độ siêu nhanh, chính xác top 1 thị trường. Chúng tôi cung cấp dịch vụ giải tất cả các loại của ReCaptcha Image trên điện thoại.

📱

Dịch vụ này cho phép bạn gửi ảnh captcha và nhận về các chỉ số (index) của ô cần click để giải captcha.

ReCAPTCHA Mobile

1. Tạo yêu cầu

Request

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

Tham số

Tên paramKiểu dữ liệuBắt buộc?Mô tả
clientKeystringyesApi key
task.typestringyesReCaptchaPhoneTask
task.subTypestringyesGiá trị bằng 0
task.imagestringyesẢnh captcha ở dạng base64, chụp phần hiển thị ảnh captcha (không viền, chỉ gồm các ô vuông nhỏ)
task.otherstringyesCâu hỏi|Số grid
• Câu hỏi: "Select all images with a bus" (full question text shown in the captcha prompt)
• Số lượng grid: 3 (hoặc 4, 5)
→ other: "Select all images with a bus|4"

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": "ReCaptchaPhoneTask",
    "subType": "0",
    "image": "iVBORw0KGgoAAAANSUhEUgAA...(base64 encoded image)",
    "other": "Select all images with a bus|4"
  }
}

Response

Khi thành công, server sẽ trả về errorId = 0taskId

{
  "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 paramKiểu dữ liệuBắt buộc?Mô tả
clientKeystringyesApi key
taskIdstringyesTaskId 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": "0,5,9"
}

Chú thích: Với type "grid", solution là list index của ảnh cần click, tính từ 0

Giải thích trạng thái

  • errorId = 0: Giải thành công, đọc kết quả trong solution
  • errorId = 1: Đang giải captcha, đợi 2-3 giây rồi thử lại
  • errorId > 1: 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
 
def solve_recaptcha_phone(image_base64, question, grid_count, api_key='YOUR_API_KEY'):
    # Bước 1: Tạo task
    create_task_url = 'https://api.achicaptcha.com/createTask'
    create_task_payload = {
        'clientKey': api_key,
        'task': {
            'type': 'ReCaptchaPhoneTask',
            'subType': '0',
            'image': image_base64,
            'other': f'{question}|{grid_count}'
        }
    }
    
    response = requests.post(create_task_url, json=create_task_payload)
    result = response.json()
    
    if result['errorId'] > 1:
        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-3 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'] > 1:
            raise Exception(result['errorDescription'])
        
        if result['status'] == 'ready':
            return result['solution']  # Trả về "0,5,9" - các index cần click
        
        # Nếu status == 'processing', tiếp tục loop
 
# Sử dụng
image_base64 = 'iVBORw0KGgoAAAANSUhEUgAA...'  # Ảnh captcha đã mã hóa base64
question = 'Select all images with a bus'  # Full question text from the captcha prompt
grid_count = 4  # Số lượng grid (3, 4, hoặc 5)
solution = solve_recaptcha_phone(image_base64, question, grid_count, 'YOUR_API_KEY')
print('Grid indices to click:', solution)  # Ví dụ: "0,5,9"
 
# Sử dụng solution để click vào các ô tương ứng
indices = [int(i) for i in solution.split(',')]
for index in indices:
    # Click vào ô có index tương ứng
    print(f'Click vào ô index: {index}')

Các mã lỗi thường gặp

Mã lỗiMô tảChú thích
0successThành công
1processingĐang xử lý
2missing required fieldsThiếu trường bắt buộc, kiểm tra lại tham số
3task not supportedLoại task không được hỗ trợ
4task creation failedTạo task thất bại
5client key does not existAPI key không tồn tại, kiểm tra lại API key
6insufficient account balanceSố dư tài khoản không đủ, nạp thêm credit
7task failed, please create a new taskTask thất bại, vui lòng tạo task mới
8task ID does not existTask 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. Chuẩn bị ảnh captcha

  • Chụp phần hiển thị ảnh captcha rõ ràng, không bao gồm viền hoặc phần giao diện khác
  • Chỉ gồm các ô vuông nhỏ (grid) của captcha
  • Ảnh ở dạng base64
  • Đảm bảo ảnh có độ phân giải đủ để nhận diện

2. Xác định thông tin chính xác

  • Lấy câu hỏi từ phần text in đậm của captcha (ví dụ: "Select all images with a bus", "Select all squares with traffic lights")
  • Xác định đúng số lượng grid (3x3, 4x4, hoặc 5x5)
  • Format other đúng: "câu_hỏi|số_grid" (ví dụ: "Select all images with a bus|4")

3. Polling interval

  • Đợi ít nhất 2-3 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 (khuyến nghị 120 giây)

4. Xử lý kết quả

  • Solution trả về là chuỗi các index cần click, phân cách bởi dấu phẩy (ví dụ: "0,5,9")
  • Index bắt đầu từ 0, tính từ trái sang phải, trên xuống dưới
  • Parse chuỗi và click vào các ô tương ứng

5. 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

6. 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: