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.

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 | ReCaptchaPhoneTask |
task.subType | string | yes | Giá trị bằng 0 |
task.image | string | yes | Ả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.other | string | yes | Câ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 = 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": "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ả trongsolutionerrorId = 1: Đang giải captcha, đợi 2-3 giây rồi thử lạierrorId > 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ỗ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. 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: