
Anh Tuan
Data Science Expert
Đã xuất bản Oct 16, 2026
Đã cập nhật Oct 16, 2026 · đọc tối thiểu

ERROR_CAPTCHA_UNSOLVABLE nghĩa là CapSolver không nhận dạng được CAPTCHA trong lần thử đó; riêng mã lỗi này không chỉ ra một nguyên nhân chung cụ thể.errorCode và errorDescription trước khi thay đổi cài đặt. Dữ liệu task không hợp lệ, lỗi tài khoản, hết thời gian chờ, và website từ chối token trả về là những trạng thái khác nhau.Một script gửi một task CAPTCHA, chờ kết quả và nhận ERROR_CAPTCHA_UNSOLVABLE. Bước dễ nghĩ tới là gửi request khác, nhưng retry tự động có thể lặp lại cùng một vấn đề nếu trang đã thay đổi hoặc request không còn mô tả đúng thử thách nữa.
CapSolver ghi nhận lỗi này tách biệt với input sai định dạng và lỗi hết thời gian task. Sự phân biệt đó là điểm bắt đầu để xử lý sự cố. Hướng dẫn này giải thích mã lỗi cho bạn biết điều gì, các chi tiết cần kiểm tra, và cách quyết định liệu một lần thử khác có hữu ích không. Quy trình áp dụng cho các thử nghiệm và tự động hóa được cho phép. Nó không hứa rằng chỉ cần đổi một tham số là giải quyết được mọi lỗi, và cũng không coi một hạn chế truy cập là giấy phép để tiếp tục thử vô hạn.
ERROR_CAPTCHA_UNSOLVABLE báo cáo một lần nhận dạng không thành công, chứ không phải một lời giải đã hoàn thành đang chờ được gửi.
Tài liệu mã lỗi chính thức mô tả lỗi cụ thể này là CAPTCHA không được nhận dạng. Mục đó cũng nói rằng không bị trừ phí cho lỗi này và khuyến nghị thử lại. Ghi chú tính phí này chỉ áp dụng cho mã lỗi được ghi rõ; không nên suy rộng nó cho mọi workflow trình duyệt thất bại hay mọi loại lỗi API.
Hãy đọc toàn bộ response trước khi xác định nguyên nhân. API dùng errorId, errorCode và errorDescription để mô tả lỗi dịch vụ. Lưu các giá trị đó cùng với bối cảnh task, thay vì gom tất cả thành một thông báo kiểu “CAPTCHA thất bại”. Nếu không, timeout phía client hoặc lỗi parse có thể nhìn giống hệt một response từ dịch vụ giải CAPTCHA.
Một CAPTCHA chỉ là một giai đoạn trong workflow của ứng dụng. Dịch vụ không tạo ra lời giải và ứng dụng từ chối một lời giải sẵn có là hai trường hợp cần điều tra khác nhau. Giữ tách biệt các giai đoạn sẽ tránh việc bạn áp dụng chính sách retry cho sai vấn đề.
Xác định xem lỗi xảy ra khi gửi request, khi lấy kết quả, hay khi xử lý trong ứng dụng.
Tài liệu createTask phân biệt các task trả kết quả đồng bộ với task bất đồng bộ chỉ trả về một định danh. Với task bất đồng bộ, một response tạo task có ID chưa phải là giải CAPTCHA thành công. Hãy dùng ID sẵn có với luồng lấy kết quả để quan sát kết quả cuối.
Nếu client không bao giờ nhận được response, hãy ghi nhận sự thật đó. Đừng tự gán một mã lỗi dịch vụ để mô tả lỗi truyền tải. Tương tự, nếu response chứa một lời giải sẵn sàng và website sau đó từ chối nó, hãy giữ lại lỗi ứng dụng tách biệt. Việc bị từ chối sau này không biến response trước đó của dịch vụ thành ERROR_CAPTCHA_UNSOLVABLE.
Hãy dùng một mốc thời gian ngắn: gửi request, ID task nếu có, kết quả hoặc lỗi, và kết quả trong ứng dụng nếu đến được giai đoạn đó. Một timeline ngắn thường trả lời được câu hỏi đầu tiên của hỗ trợ mà không cần bản ghi trình duyệt lớn hoặc dump toàn bộ dữ liệu nhạy cảm.
So sánh task với thử thách mà trang hiện đang dùng trước khi gửi lần thử tiếp theo.
Bắt đầu bằng họ CAPTCHA và biến thể. Một widget trông quen thuộc không đủ để chọn loại task. Hãy xác nhận trang đang dùng đúng họ mà bạn nghĩ, rồi tra “hợp đồng task” hiện tại tương ứng cho họ đó. Đừng tạo một tên loại mới bằng cách sửa chuỗi từ một tutorial khác.
Với reCAPTCHA v2, tài liệu task mô tả URL trang liên quan, sitekey public, các biến thể task được hỗ trợ và các trường tùy chọn. Những input này cần mô tả đúng cùng trang hiện tại và widget hiện tại. Một tên trường chính xác nhưng giá trị được copy từ một demo không liên quan vẫn là input sai cho workflow của bạn.
Kiểm tra lại input nếu workflow đã điều hướng, refresh thử thách, đổi môi trường, hoặc chuyển sang form khác.
Một cấu hình lưu sẵn có thể mô tả bản triển khai của ngày hôm qua hoặc một widget khác trên cùng trang. Giữ quan sát trong trình duyệt và request gửi tới dịch vụ giải CAPTCHA gắn với nhau. Nếu form có nhiều bước xác minh, hãy xác định rõ bước nào tạo ra các tham số, thay vì chỉ dùng sitekey đầu tiên tìm thấy trong tài liệu HTML.
Hướng dẫn trình phát hiện CapSolver cung cấp cách xem tham số CAPTCHA qua công cụ devtools của trình duyệt. So sánh các giá trị phát hiện được với tài liệu task. Việc phát hiện giúp thu thập bằng chứng; nó không đảm bảo mọi request tạo ra từ đó đều thành công.
Dùng các tùy chọn riêng cho từng task vì trang hiện tại và tài liệu yêu cầu chúng, chứ không phải vì một ví dụ khác có chúng.
Việc thiếu một trường tùy chọn không tự động là nguyên nhân khiến giải CAPTCHA không thành công. Thêm bừa các giá trị proxy, action hoặc giá trị khác có thể tạo thêm một sai lệch. So sánh một request nhỏ, đúng tài liệu với trang quan sát được và chỉ thay đổi một thiết lập có lý do mỗi lần.
Giữ thông tin đăng nhập tài khoản riêng biệt với các định danh trang công khai. Nếu response báo vấn đề về khóa tài khoản hoặc số dư, hãy xử lý đúng vấn đề đó trước. Việc retry nhận dạng không thể sửa được thông tin tài khoản không hợp lệ.
Nhập Mã Thưởng CapSolver
Tăng ngân sách tự động hóa của bạn ngay lập tức!
Dùng mã thưởng CAP26 khi nạp tiền vào tài khoản CapSolver để nhận thêm 5% bonus cho mỗi lần nạp — không giới hạn.
Đổi mã ngay trong Bảng điều khiển CapSolver
Retry hữu ích khi thao tác vẫn được phép, trạng thái trang còn hiện thời, và lần thử tiếp theo có điểm dừng được xác định rõ.
Khuyến nghị “thử lại” trong tài liệu không đồng nghĩa với vòng lặp vô hạn. Đặt ngân sách số lần thử và thời hạn tổng thể phù hợp ứng dụng. Nếu response giống nhau lặp lại sau khi bạn đã kiểm tra input, hãy dừng và thu thập bằng chứng thay vì tăng lượng request tự động.
Tạo task mới là bắt đầu một lần thử khác. Hỏi kết quả của một task bất đồng bộ hiện có là đang quan sát kết quả của lần thử đó. Đừng trộn lẫn hai thao tác này trong vòng lặp retry: gọi create liên tục khi task đầu tiên vẫn đang pending sẽ tạo nhiều lần thử mới, chứ không cho bạn thông tin nhanh hơn về lần thử ban đầu.
Với các bài test trình duyệt, cũng kiểm tra hành vi retry của test runner. Tài liệu retry của Playwright giải thích rằng một bài test thất bại có thể được chạy lại, và các test chỉ pass khi retry được coi là flaky. Retry toàn bài test có thể lặp lại bước giải CAPTCHA bên cạnh bất kỳ cơ chế retry nào trong client giải CAPTCHA của bạn. Hãy phân công quyết định retry một cách có chủ đích để hai lớp không nhân đôi số lần thử mà bạn không nhìn thấy.
Sau khi sửa một sai lệch quan sát được, hãy chạy một kiểm tra nhỏ được cho phép và so sánh với lần thử trước.
Ghi lại thay đổi, loại task, kết quả trả về, và việc ứng dụng có hoàn tất hay không. Nếu bạn thay nhiều thiết lập không liên quan cùng lúc, một lần retry thành công cũng không cho biết thay đổi nào thực sự quan trọng. Một phép so sánh có kiểm soát sẽ tạo bằng chứng bạn có thể dùng lại khi vấn đề tái diễn.
Giữ kết quả dừng sao cho hữu ích. Một task chưa hoàn thành nên được ghi nhận là chưa hoàn thành cùng lý do. Trả về một object dữ liệu rỗng như thể đó là quan sát thành công sẽ che giấu lỗi và có thể làm hỏng báo cáo phía sau.
Dùng đúng loại lỗi để chọn bước kiểm tra tiếp theo.
| Tình trạng quan sát được | Kiểm tra hữu ích đầu tiên |
|---|---|
ERROR_CAPTCHA_UNSOLVABLE |
Xem lại thử thách hiện tại và request; cân nhắc retry có giới hạn |
ERROR_INVALID_TASK_DATA |
Đọc mô tả và sửa input được báo là sai |
ERROR_TASK_NOT_SUPPORTED |
Xác nhận loại task trong tài liệu và loại thử thách được hỗ trợ |
ERROR_TASKID_INVALID |
Kiểm tra định danh dùng để lấy kết quả |
ERROR_TASK_TIMEOUT |
Xem lại kết quả task và chính sách chờ của ứng dụng |
| Có lời giải sẵn, rồi website từ chối | Kiểm tra cách xử lý token và kết quả xác minh phía ứng dụng |
Đây là các hướng điều tra, không phải cam kết một bước kiểm tra sẽ tìm ra mọi nguyên nhân. Giữ nguyên văn lỗi ban đầu khi escalte. Thay nó bằng một nhãn chung chung sẽ làm mất thông tin mà đội hỗ trợ có thể cần.
Với website bạn sở hữu, hãy so sánh request trình duyệt gửi lên với response xác minh của server. Tài liệu xác minh reCAPTCHA của Google ở đây nói rõ việc xác minh phải nằm ở server và token phản hồi có thời hạn sống giới hạn và chỉ dùng một lần. Token dùng quá muộn hoặc được dùng lại sau khi xác minh là vấn đề khác với việc dịch vụ giải CAPTCHA không tạo được token.
Để kiểm tra phía trình duyệt, hướng dẫn Network panel của Chrome cho thấy cách xem request và response. Hãy kiểm tra thao tác liên quan trên trang được phép; tránh việc export toàn bộ phiên đăng nhập khi một bản tóm tắt request đã ẩn bớt thông tin là đủ để trả lời câu hỏi.
Gửi một bản ghi ngắn gọn, đã ẩn bớt thông tin, đủ để xác định giai đoạn thất bại.
Bao gồm loại task, ID task nếu có, thời điểm request xấp xỉ kèm múi giờ, mã lỗi và mô tả chính xác, và cho biết hành vi có lặp lại được không. Mô tả mọi thay đổi về trang hoặc cấu hình ngay trước khi lỗi xảy ra. Nêu rõ bạn đã kiểm tra request so với tài liệu task hiện tại hay chưa.
Đừng dán API key CapSolver, cookie phiên đầy đủ, token đã giải hoàn chỉnh, hoặc dữ liệu cá nhân không liên quan vào vấn đề công khai. Hướng dẫn logging của OWASP ở đây giải thích lý do tại sao thông tin xác thực và vật liệu phiên nên được loại trừ hoặc bảo vệ. Dùng kênh hỗ trợ phù hợp cho bất kỳ thông tin bổ sung nào thực sự cần cho chẩn đoán.
Bài hướng dẫn xác định tham số có thể giúp khi câu hỏi chưa giải quyết được là trang đang dùng input nào. Nếu input đã khớp mà lỗi vẫn lặp lại, hãy cung cấp phát hiện đó thay vì trình bày một giả định nguyên nhân như một chẩn đoán đã được xác nhận.
Cách xử lý thực tế với ERROR_CAPTCHA_UNSOLVABLE là xác định giai đoạn thất bại, xác minh input hiện tại, đưa ra quyết định retry có giới hạn, và lưu giữ bằng chứng hữu ích nếu lỗi tiếp tục.
Dùng response task của CapSolver song song với kết quả từ chính ứng dụng. Điều đó giúp bạn phân biệt rõ giữa việc giải CAPTCHA không thành công và một lỗi tích hợp phát sinh sau đó.
Bắt đầu với một loại thử thách được hỗ trợ và một request hiện thời, sau đó chỉ mở rộng khi workflow được cho phép đã cho ra kết quả như mong đợi.
H: ERROR_CAPTCHA_UNSOLVABLE có luôn nghĩa là sitekey của tôi sai không?
Không. Lỗi này báo một lần nhận dạng không thành công. Hãy kiểm tra input, nhưng đừng coi riêng mã lỗi là bằng chứng cho một sai lệch tham số cụ thể.
H: Lỗi này có bị tính phí không?
Bảng mã lỗi chính thức hiện tại nói không trừ phí cho ERROR_CAPTCHA_UNSOLVABLE. Ghi chú này áp dụng cho lỗi cụ thể này, không phải mọi workflow thất bại. Hãy dùng lịch sử tài khoản và hỗ trợ để hỏi về hóa đơn cho từng task cụ thể.
H: Tôi có nên tiếp tục polling sau một lỗi “terminal” không?
Hãy xử lý lỗi đã được báo thay vì coi nó như kết quả đang chờ. Một lần giải mới và việc lấy kết quả của một task hiện có là hai hành động tách biệt.
H: Tại sao form của tôi vẫn lỗi sau khi đã có lời giải sẵn sàng?
Lời giải sẵn sàng không chứng minh ứng dụng đã chấp nhận. Hãy kiểm tra trạng thái trang tương ứng, cách xử lý kết quả, và response xác minh phía server trong phạm vi ứng dụng bạn kiểm soát.
H: Bước đầu tiên tốt nhất khi lỗi lặp lại là gì?
Xác nhận chính xác lỗi, so sánh input trang hiện tại với tài liệu task, và giữ lại bản ghi task đã ẩn bớt thông tin. Dừng các lần thử lặp lại khi không còn chỉnh sửa hợp lý hoặc quan sát mới hữu ích nào nữa.

Anh Tuan
Data Science Expert
Turning task outcomes into actionable insights.
GIỚI THIỆU TÁC GIẢ
Hiểu các nhiệm vụ CAPTCHA không cần proxy, khi nào cần sử dụng proxy được cung cấp, và cách chọn nhiệm vụ CapSolver đúng cho quy trình làm việc của trình duyệt hoặc API của bạn.

Giải CAPTCHAs hình ảnh bằng Python với CapSolver ImageToTextTask. Chuẩn bị đầu vào Base64, đọc văn bản trả về và sửa các lỗi hình ảnh và nộp bài thường gặp.
