Troubleshooting

Lỗi BLS CAPTCHA và cách khắc phục sự cố

Việc giải BLS CAPTCHA có những thách thức đặc biệt vì nó sử dụng cách triển khai tùy chỉnh. Dưới đây là những lỗi phổ biến nhất và giải pháp của họ.


Lỗi gửi API

ERROR_BAD_PARAMETERS

Lý do: Thiếu tham số bắt buộc — hướng dẫn hoặc hình ảnh.

Sửa chữa:

# WRONG — missing instructions
response = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY, "method": "bls",
    "image_base64_1": img1, "json": 1
})

# CORRECT — include instructions
response = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY, "method": "bls",
    "instructions": "Select all images with a car",
    "image_base64_1": img1, "json": 1
})

ERROR_WRONG_FILE_EXTENSION

Lý do: Dữ liệu hình ảnh không hợp lệ base64 hoặc là định dạng không được hỗ trợ.

Sửa chữa:

  • Đảm bảo hình ảnh được mã hóa base64 PNG hoặc JPEG
  • Xóa tiền tố data:image/...;base64,
  • Xác minh chuỗi base64 không bị cắt ngắn
import base64

# Strip the data URI prefix
src = img_element.get_attribute("src")
if src.startswith("data:image"):
    b64 = src.split(",")[1]
else:
    # Download and encode
    img_data = requests.get(src).content
    b64 = base64.b64encode(img_data).decode()

ERROR_CAPTCHA_UNSOLVABLE

Lý do: Hình ảnh chất lượng quá thấp, mờ hoặc hướng dẫn không rõ ràng.

Sửa chữa:

  • Chụp ảnh ở độ phân giải đầy đủ
  • Đảm bảo văn bản hướng dẫn được trích xuất chính xác
  • Thử lại - một số thử thách vốn đã khó khăn hơn

Lỗi trích xuất hình ảnh

Hình ảnh tải động

Vấn đề: Hình ảnh không có trong DOM khi trang tải lần đầu.

Khắc phục: Đợi hình ảnh xác thực hiển thị đầy đủ:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Wait for captcha images to load
WebDriverWait(driver, 10).until(
    EC.presence_of_all_elements_located((By.CSS_SELECTOR, ".captcha-image img"))
)

Hình ảnh là canvas, không phải phần tử img

Vấn đề: Một số triển khai BLS hiển thị hình ảnh trên các phần tử <canvas>.

Khắc phục: Trích xuất dữ liệu canvas dưới dạng base64:

canvas_elements = driver.find_elements(By.CSS_SELECTOR, ".captcha-canvas")
for i, canvas in enumerate(canvas_elements, 1):
    b64 = driver.execute_script(
        "return arguments[0].toDataURL('image/png').split(',')[1];",
        canvas
    )
    payload[f"image_base64_{i}"] = b64

Hình ảnh đằng sau việc chống hotlinking

Vấn đề: URL hình ảnh trả về 403 khi được tìm nạp bên ngoài trình duyệt.

Khắc phục: Trích xuất hình ảnh trong ngữ cảnh trình duyệt:

# Get image data from within the browser
b64 = driver.execute_script("""
    var img = arguments[0];
    var canvas = document.createElement('canvas');
    canvas.width = img.naturalWidth;
    canvas.height = img.naturalHeight;
    canvas.getContext('2d').drawImage(img, 0, 0);
    return canvas.toDataURL('image/png').split(',')[1];
""", img_element)

Giải pháp lỗi ứng dụng

Đã chọn sai hình ảnh

Nguyên nhân: Thứ tự hình ảnh không khớp giữa trích xuất và hiển thị.

Khắc phục: Duy trì thứ tự nhất quán:

# Ensure images are indexed in display order
captcha_imgs = driver.find_elements(By.CSS_SELECTOR, ".captcha-image img")
# The order of find_elements matches DOM order = display order
for i, img in enumerate(captcha_imgs, 1):
    payload[f"image_base64_{i}"] = extract_base64(img)

Chỉ số giải pháp không khớp

Lý do: CaptchaAI trả về chỉ số dựa trên 1, nhưng mã của bạn sử dụng chỉ số dựa trên 0.

Sửa chữa:

solution = result["request"]  # e.g., "1,3,5"
indices = [int(i) for i in solution.split(",")]

# Convert to 0-based for array access
for idx in indices:
    captcha_imgs[idx - 1].click()  # 1-based → 0-based

Gửi biểu mẫu không thành công sau khi chọn đúng

Lý do: Thiếu trường biểu mẫu hoặc mã thông báo bổ sung.

Khắc phục: Kiểm tra các trường ẩn phải được gửi cùng với hình ảnh xác thực:

# Look for hidden captcha tokens
hidden_fields = driver.find_elements(By.CSS_SELECTOR, "input[type='hidden']")
for field in hidden_fields:
    name = field.get_attribute("name")
    value = field.get_attribute("value")
    print(f"Hidden field: {name}={value}")

Lỗi hết thời gian chờ

Captcha hết hạn trước khi quá trình giải quyết hoàn tất

Vấn đề: BLS CAPTCHA có thời gian hiệu lực ngắn.

Sửa chữa:

  • Trích xuất hình ảnh và gửi tới CaptchaAI ngay lập tức
  • Không trích xuất hình ảnh rồi đợi trước khi gửi
  • Nếu quá trình giải mất >60 giây thì hình ảnh xác thực có thể đã hết hạn — hãy làm mới và thử lại

Việc bỏ phiếu mất quá nhiều thời gian

Khắc phục: Đảm bảo bạn đang bỏ phiếu chính xác:

# Standard polling pattern
for _ in range(30):  # 30 attempts × 5 seconds = 150 seconds max
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": API_KEY, "action": "get", "id": task_id, "json": 1
    }).json()

    if result.get("status") == 1:
        return result["request"]
    if result.get("request") == "ERROR_CAPTCHA_UNSOLVABLE":
        # Don't keep polling — start over
        raise Exception("Unsolvable")

Danh sách kiểm tra gỡ lỗi

Kiểm tra hành động
Hướng dẫn trích xuất? In và xác minh văn bản hướng dẫn
Hình ảnh hợp lệ? Lưu base64 vào tập tin và mở để xác minh
Số lượng hình ảnh có đúng không? So sánh số lượng hình ảnh được gửi và hiển thị
Thứ tự hình ảnh có đúng không? Xác minh thứ tự DOM khớp với thứ tự hiển thị
Tiền tố Base64 bị tước bỏ? Xóa data:image/...;base64,
Dạng giải pháp? Phân tích các chỉ mục dựa trên 1 được phân tách bằng dấu phẩy
Chuyển đổi chỉ mục? Trừ 1 để truy cập mảng dựa trên 0

Câu hỏi thường gặp

Tôi nên gửi bao nhiêu hình ảnh tới CaptchaAI?

Gửi tất cả hình ảnh hiển thị trong CAPTCHA, thường là 3–9. Sử dụng image_base64_1 thông qua image_base64_9.

Nếu hướng dẫn bằng ngôn ngữ không phải tiếng Anh thì sao?

Gửi hướng dẫn chính xác như được hiển thị. CaptchaAI xử lý các hướng dẫn đa ngôn ngữ.

Tôi có thể tải trước hình ảnh để tăng tốc độ giải quyết không?

Không. BLS tạo ra những hình ảnh duy nhất cho mỗi phiên. Bạn phải trích xuất chúng mới cho mỗi phiên bản hình ảnh xác thực.

Điều gì sẽ xảy ra nếu BLS thay đổi định dạng CAPTCHA của họ?

Nếu định dạng thay đổi, mã trích xuất hình ảnh có thể cần được cập nhật. Các thông số API CaptchaAI (method=bls, hướng dẫn, hình ảnh) sẽ giữ nguyên.


Hướng dẫn liên quan

Os comentários estão desativados para este artigo.

Postagens relacionadas

Tutorials BLS CAPTCHA: Tìm hiểu mã hướng dẫn và giải quyết
Hướng dẫn từng bước cho BLS CAPTCHA: Tìm hiểu hướng dẫn mã và cách giải quyết, với các ví dụ có thể sử dụng lại trực tiếp và quy trình làm việc Captcha AI rõ rà...

Hướng dẫn từng bước cho BLS CAPTCHA: Tìm hiểu hướng dẫn mã và cách giải quyết, với các ví dụ có thể sử dụng lạ...

Apr 27, 2026
Comparisons Lưới BLS CAPTCHA và lưới reCAPTCHA — So sánh
So sánh thực tế giữa Lưới BLS CAPTCHA và mạng re CAPTCHA — So sánh, tập trung vào sự khác biệt về chi phí, độ chính xác, tốc độ và nỗ lực tích hợp xung quanh Ca...

So sánh thực tế giữa Lưới BLS CAPTCHA và mạng re CAPTCHA — So sánh, tập trung vào sự khác biệt về chi phí, độ...

Apr 27, 2026
DevOps & Scaling Xây dựng giải quyết CAPTCHA theo sự kiện bằng AWS SNS và CaptchaAI
Hướng dẫn Dev Ops xây dựng giải pháp giải quyết tình huống CAPTCHA bằng AWS SNS và Captcha AI, với các quyết định về kiến ​​trúc, các cân nhắc vận hành và mô hì...

Hướng dẫn Dev Ops xây dựng giải pháp giải quyết tình huống CAPTCHA bằng AWS SNS và Captcha AI, với các quyết đ...

Apr 25, 2026