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

Một CAPTCHA không hoạt động, nhưng triệu chứng có thể mang nhiều ý nghĩa. Widget có thể không bao giờ tải. Một ô checkbox có thể hoàn thành rồi lại reset. Một script tự động có thể nhận lỗi API, hoặc nhận token trong khi biểu mẫu vẫn từ chối tiếp tục. Việc liên tục tải lại trang không cho biết bước nào đã thất bại.
Hướng dẫn này giúp nhà phát triển và đội hỗ trợ xác định bước đó trong một quy trình trình duyệt hoặc API đã được cấp phép. CapSolver cung cấp tác vụ giải cho các thử thách được hỗ trợ; trình duyệt và ứng dụng được bảo vệ vẫn có trách nhiệm riêng của chúng. Dùng các bước kiểm tra dưới đây để thu thập báo cáo lỗi hữu ích, sửa một vấn đề tích hợp đã được tài liệu hóa, và xác minh tác vụ gốc sau khi thay đổi.
CAPTCHA có thể hỏng trước khi thử thách xuất hiện, trong khi dịch vụ giải xử lý yêu cầu, trong lúc xác thực token, hoặc sau khi xác thực khi ứng dụng tiếp tục xử lý.
Hãy xác định bước cuối cùng bạn thực sự có thể xác nhận. Bảng thuật ngữ CAPTCHA giải thích khái niệm xác minh, nhưng việc khắc phục sự cố cần bằng chứng cụ thể hơn là chỉ từ CAPTCHA. Ghi lại nhóm thử thách, thông báo hiển thị, thời gian xấp xỉ, và việc sự cố xảy ra khi dùng thủ công hay trong một quy trình tự động đã được cấp phép.
| Bạn quan sát được gì | Kiểm tra gì trước | Nên tránh giả định điều gì |
|---|---|---|
| Widget trống hoặc tải vô tận | Console của trình duyệt, các request script bị lỗi, và lỗi riêng của widget | Rằng API của dịch vụ giải đã lỗi sẵn |
| Yêu cầu tới dịch vụ giải bị từ chối | HTTP status và các trường lỗi API đã được tài liệu hóa | Rằng việc tải lại trang sẽ sửa được lỗi tài khoản hoặc lỗi tác vụ |
| Tác vụ vẫn đang xử lý | ID tác vụ hiện có, cách lấy kết quả, và hạn chót bạn đặt ra để chờ | Rằng nhất định phải tạo thêm một tác vụ mới ngay |
| Đã trả về token nhưng xác minh bị từ chối | Thời gian tồn tại token, việc tái sử dụng, tích hợp mong đợi, và phản hồi xác minh sẵn có | Rằng nhận được token là đảm bảo sẽ được chấp nhận |
| Xác minh vượt qua nhưng biểu mẫu thất bại | Phản hồi từ ứng dụng và điều kiện hoàn tất mong đợi | Rằng CAPTCHA chắc chắn là vấn đề còn lại |
Nếu bạn chỉ là người truy cập website, hãy thu thập lỗi nhìn thấy được và liên hệ với đơn vị vận hành khi lỗi cấu hình vẫn tiếp diễn. Secret ở backend, cài đặt hostname, và xác thực phía server thuộc về chủ ứng dụng. Client tự động không thể thiết lập các cài đặt đó chỉ từ việc quan sát widget.
Sự cố khi tải widget nên được điều tra trong trình duyệt trước khi gửi thêm yêu cầu giải.
Với một website do bạn vận hành, hãy tái hiện vấn đề một lần và xem console và tab network của trình duyệt. Tìm request script CAPTCHA bị lỗi, lỗi khởi tạo widget, hoặc thông báo chính sách nêu tên tài nguyên bị chặn. Giữ lại lỗi thực tế và đường dẫn trang bị ảnh hưởng. Biểu tượng quay (spinner) không có thông báo lỗi là một triệu chứng, không phải chẩn đoán.
Cloudflare cung cấp tài liệu về callback lỗi cho widget Turnstile. Ghi nhận mã lỗi được cung cấp sẽ cho đội website một điểm bắt đầu cụ thể. Callback báo cáo lỗi của widget; đây không phải là phản hồi API của CapSolver và không nên bị diễn giải theo bảng mã lỗi của dịch vụ giải.
So sánh trong một profile trình duyệt được hỗ trợ khác có thể giúp cô lập điều kiện cục bộ. Ghi lại những gì đã thay đổi, và kiểm tra từng biến một. Nếu cùng một lỗi xảy ra trên nhiều phiên đã được kiểm soát, hãy điều tra tích hợp của site hoặc bằng chứng trên mạng thay vì liên tục xóa mọi thiết lập trình duyệt.
Khi console nêu vấn đề về chính sách nội dung trên site của chính bạn, hãy xem lại các yêu cầu đã được tài liệu hóa của nhà cung cấp CAPTCHA với đội website. Tránh việc vô hiệu hóa rộng rãi bảo mật trình duyệt hoặc site như một lối tắt khắc phục sự cố. Kết quả hữu ích là xác định được một phụ thuộc bị chặn hoặc một cấu hình không khớp cụ thể mà chủ sở hữu có thể sửa.
Trước khi thay đổi code phía dịch vụ giải, cũng hãy xác nhận trang thực sự đang dùng thử thách nào. Hướng dẫn của chúng tôi về cách xác định phiên bản reCAPTCHA trên một website giải thích vì sao chỉ tên reCAPTCHA là không đủ để chọn tích hợp.
Một yêu cầu tới dịch vụ giải bị từ chối nên được phân tích từ phản hồi HTTP và các trường lỗi đã được tài liệu hóa.
Trong tham chiếu lỗi API của CapSolver, một phản hồi lỗi dùng errorId, errorCode, và errorDescription. Giữ lại phần mô tả trong bản ghi chẩn đoán (đã che bớt dữ liệu nhạy cảm) vì nó có thể chỉ ra trường không hợp lệ. Đừng thay thế mọi lỗi API bằng một thông báo chung chung “lỗi CAPTCHA”.
Kiểm tra hạng mục lỗi trước khi quyết định bước tiếp theo:
Thông tin tài khoản cho phép bạn gửi yêu cầu tới dịch vụ giải; public key của website xác định tích hợp CAPTCHA của website đó. Đây là hai loại input khác nhau. Hãy xem tài liệu của tác vụ đã chọn thay vì di chuyển giá trị giữa các trường cho đến khi yêu cầu được chấp nhận.
Ví dụ, hướng dẫn tác vụ Turnstile mô tả AntiTurnstileTaskProxyLess và các trường bắt buộc websiteURL và websiteKey. Cấu trúc request này là riêng cho Turnstile. Một tác vụ reCAPTCHA hoặc nhận dạng hình ảnh có hợp đồng riêng và không thể suy ra chỉ bằng cách đổi nhãn trong cùng payload.
Nhận mã thưởng CapSolver của bạn
Tăng ngân sách tự động hóa 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% tiền thưởng cho mỗi lần nạp — không giới hạn.
Đổi mã ngay trong Bảng điều khiển CapSolver
Một tác vụ đang chờ (pending) chưa tạo ra kết quả cuối cùng, vì vậy hãy giữ lại ID của nó và kiểm tra luồng trả kết quả đã được tài liệu hóa.
API createTask trả về ID tác vụ cho công việc bất đồng bộ, trong khi các tác vụ đồng bộ được hỗ trợ có thể trả kết quả trực tiếp. Nếu tác vụ bạn chọn yêu cầu polling, hãy dùng ID hiện có với getTaskResult. ID tác vụ khẳng định việc tạo tác vụ, không phải việc giải đã hoàn tất.
Ghi lại thời điểm gửi yêu cầu và đặt hạn chót cho workflow. Khi đến hạn, hãy báo cáo lần thử đó là chưa có kết quả tại thời điểm đó, hoặc báo lỗi cuối cùng thực tế nếu có. Đừng âm thầm đánh dấu là thành công, và đừng tạo vô hạn tác vụ mới trong khi job ban đầu vẫn đang chờ.
Nếu gián đoạn mạng khiến bạn không nhận được phản hồi tạo tác vụ, hãy giữ trạng thái không chắc chắn đó hiển thị rõ. Client có thể không biết liệu tác vụ đã được tạo hay chưa. Điều tra lỗi truyền tải và áp dụng chính sách retry có giới hạn; đừng khẳng định là không tồn tại tác vụ chỉ vì request cục bộ của bạn bị timeout.
Một token được trả về vẫn có thể bị từ chối nếu bước xác minh của ứng dụng không chấp nhận nó.
Bắt đầu với dấu thời gian và phản hồi xác minh mà chủ ứng dụng có thể truy cập. Tài liệu xác minh reCAPTCHA của Google quy định token phản hồi chỉ dùng một lần với thời hạn hai phút. Tài liệu xác minh Turnstile phía server của Cloudflare quy định thời hạn 300 giây và dùng một lần. Đừng áp dụng thời hạn của một nhà cung cấp cho mọi loại CAPTCHA.
Kiểm tra xem script có chờ sau khi nhận token hay không, có gửi form hai lần, hoặc tải lại trang trước khi tiếp tục không. Các quan sát này có thể định hướng việc điều tra, nhưng bản thân chúng không chứng minh được nguyên nhân. Hãy ghép chúng với kết quả xác minh thực tế khi bạn có quyền truy cập.
Với một ứng dụng do bạn sở hữu, hãy kiểm tra hostname mong đợi, action (nếu có), và cấu hình xác minh hiện tại theo hướng dẫn của nhà cung cấp. Giữ secret key ở backend. Với quy trình phía bên thứ ba, chỉ báo cáo kết quả trình duyệt bạn nhìn thấy; đừng khẳng định là bạn đã “nhìn thấy” phản hồi xác minh riêng tư.
Một bước xác minh thành công sẽ được theo sau bởi công việc riêng của ứng dụng. Một biểu mẫu thử nghiệm vẫn có thể từ chối vì thiếu trường, hoặc thao tác yêu cầu có thể trả về lỗi ứng dụng. Hãy kiểm tra thông báo xác nhận cuối cùng hoặc output mong đợi trước khi đánh dấu workflow là hoàn tất.
Nếu xác minh thành công nhưng ứng dụng thất bại, hãy giữ lại cả hai kết quả. Yêu cầu token CAPTCHA khác mà không xem xét lỗi ở bước sau có thể che giấu lỗi thực sự và thêm các lần thử không cần thiết.
Một báo cáo hỗ trợ hữu ích xác định bước thất bại và cung cấp đủ bằng chứng (đã che bớt) để tái hiện.
Bao gồm loại thử thách, loại tác vụ (nếu có dùng), timestamp và múi giờ, mã lỗi chính xác, và ID tác vụ nếu có. Mô tả workflow mong đợi điều gì và thực tế quan sát được điều gì. Với vấn đề trên trình duyệt, thêm ảnh chụp màn hình hoặc thông điệp console liên quan sau khi loại bỏ nội dung cá nhân của trang.
Nêu rõ liệu vấn đề ảnh hưởng tới một trang, một bản triển khai, hay nhiều ca kiểm thử đã được cấp phép. Bao gồm cấu hình cuối cùng được biết là còn hoạt động và thay đổi gần đây, nếu biết. “Đã nhận token, gửi form bị từ chối” là báo cáo có tính hành động cao hơn “dịch vụ giải hỏng”.
Loại trừ API key, token thô, cookie, mật khẩu, và dữ liệu người dùng không cần thiết. Hướng dẫn logging của OWASP là cơ sở hữu ích để bảo vệ bản ghi chẩn đoán. Chỉ chia sẻ định danh hạn chế thông qua kênh hỗ trợ phù hợp.
Sửa bước thất bại đầu tiên, lặp lại một bài test nhỏ đã được cấp phép, và xác minh kết quả ứng dụng gốc. CapSolver đảm nhiệm bước giải được hỗ trợ; ứng dụng của bạn vẫn chịu trách nhiệm về input hiện tại, retry có giới hạn, và kết quả đã được xác nhận. Giữ lỗi chính xác hiển thị để lần lỗi tiếp theo có điểm bắt đầu rõ ràng.
Hỏi: Vì sao CAPTCHA của tôi không tải?
Lỗi tải có thể liên quan đến request của trình duyệt, khởi tạo widget, hoặc cấu hình site. Kiểm tra lỗi hiển thị trên widget và các request thất bại trước khi thay đổi thiết lập dịch vụ giải. Nếu bạn không vận hành site, hãy cung cấp lỗi đó cho đội hỗ trợ của họ.
Hỏi: Vì sao CAPTCHA vẫn thất bại ngay cả khi tôi đã hoàn thành?
Ứng dụng có thể từ chối token hoặc gặp lỗi ở bước xử lý sau đó. Kiểm tra phản hồi xác minh thực tế (nếu có thể) và thông báo cuối cùng của ứng dụng. Hoàn thành xong thử thách hình ảnh không cho biết bước sau đó hỏng ở đâu.
Hỏi: Phản hồi thành công từ dịch vụ giải có đảm bảo biểu mẫu được gửi đi không?
Không. Kết quả từ dịch vụ giải, việc xác minh của website, và hành động cuối cùng của ứng dụng là ba kết quả riêng. Hãy xác nhận từng giai đoạn mà workflow được cấp phép của bạn có thể quan sát.
Hỏi: Tôi có nên retry mọi lỗi CAPTCHA API không?
Không. Sửa lỗi cấu hình, thông tin đăng nhập, hoặc số dư lặp lại được trước khi retry. Dùng chính sách retry có giới hạn cho các điều kiện mà lần thử khác là phù hợp, và giữ lại lỗi gốc.
Hỏi: Một loại tác vụ có thể giải mọi CAPTCHA không?
Không. Hãy chọn tác vụ được tài liệu hóa cho đúng thử thách thực tế và cung cấp các input hiện tại bắt buộc. Một request có vẻ hợp lệ nhưng dành cho thử thách khác không chứng minh được tính tương thích.

Anh Tuan
Data Science Expert
Turning task outcomes into actionable insights.
GIỚI THIỆU TÁC GIẢ
So sánh độ chính xác và tốc độ của trình giải CAPTCHA bằng cách sử dụng kết quả đã được chấp nhận, các phân vị độ trễ, các lần thử mới và quy tắc thử lại rõ ràng cho một khối lượng công việc kiểm thử được ủy quyền.

Ghép các mô-đun VisionEngine với các đầu vào hình ảnh đã được ghi nhận và đọc kết quả góc hoặc khoảng cách từ phản hồi của tác vụ.
