Skip to content
API
ReCAPTCHA
Giải token

ReCAPTCHA

Tổng quan

Google reCAPTCHA là hệ thống captcha phổ biến nhất thế giới, được sử dụng bởi hàng triệu website để bảo vệ khỏi spam và bot. Achicaptcha hiện tại hỗ trợ reCAPTCHA v2 với tỷ lệ thành công cao.

⚠️

Hiện tại Achicaptcha chỉ hỗ trợ reCAPTCHA v2. reCAPTCHA v3 và Enterprise chưa được hỗ trợ.

ReCAPTCHA

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.typestringyesRecaptchaV2TaskProxyless với giải siêu tốc
RecaptchaV2TaskProxylessNormal với giải thường
task.websiteURLstringyesĐịa chỉ trang web chứa captcha
task.websiteKeystringyesreCAPTCHA sitekey

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": "RecaptchaV2TaskProxyless",
    "websiteURL": "https://www.google.com/recaptcha/api2/demo",
    "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
  }
}

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": "03AGdBq27QGA96FJRo3mtz..."
}

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

  • errorId = 0status = ready: Giải thành công, đọc kết quả trong solution
  • errorId = 0status = processing: Đang giải captcha, đợi 2 giây rồi thử lại
  • errorId > 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
 
def solve_recaptcha_v2(website_url, website_key, 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': 'RecaptchaV2TaskProxyless',
            'websiteURL': website_url,
            'websiteKey': website_key
        }
    }
    
    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
website_url = 'https://www.google.com/recaptcha/api2/demo'
website_key = '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-'
token = solve_recaptcha_v2(website_url, website_key, 'YOUR_API_KEY')
print('reCAPTCHA token:', token)

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. Validate site key

  • Kiểm tra site key trước khi gửi request
  • Đảm bảo site key lấy từ attribute data-sitekey chính xác
  • Xác minh website URL đúng với trang chứa captcha

2. Handle timeouts

  • Token có thời hạn sử dụng (thường là 120 giây)
  • Sử dụng token ngay sau khi nhận được
  • Không cache token quá lâu

3. 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 (khuyến nghị 120 giây)

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

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