Giải Captcha 4 Chữ Số · OCR API
API nhận diện captcha 4 chữ số thời gian thực với công nghệ xử lý ảnh tiên tiến. Tỉ lệ chính xác 100% — 0 sai số trên 2000 lần thử nghiệm thực tế.
Các dạng captcha được hỗ trợ
API xử lý được nhiều dạng ảnh captcha khác nhau — từ ảnh tối nền đến ảnh nhị phân đen trắng, cả ảnh mờ nhiễu.
Logic nhận ảnh đầu vào
API kiểm tra ưu tiên theo thứ tự — từ multipart upload đến raw binary body — đảm bảo tương thích mọi client.
🗂️ Multipart File Upload Ưu tiên cao nhất
Kiểm tra request.files['file'] — nếu có file gửi kèm qua form multipart/form-data, decode và xử lý ngay. Phù hợp với HTML form upload truyền thống.
📦 JSON Body — Base64 Image
Nếu Content-Type: application/json, lấy trường "image" hoặc "base64". Tự động strip data URI header (data:image/png;base64,...). Phù hợp với REST API client, mobile app.
📝 Form-data — Base64 String
Fallback cho form-data có trường "image" hoặc "base64" dưới dạng chuỗi base64 văn bản thuần. Linh hoạt với các framework gửi form không dùng file.
🔴 Raw Binary Body
Fallback cuối cùng — đọc request.data trực tiếp. Phù hợp khi gửi bytes ảnh thô không encode. Thường dùng với cURL hoặc script low-level.
🧠 OCR — read_captcha_from_array(img)
Sau khi decode ảnh thành mảng numpy, thuật toán OCR phân tích từng ký tự, chuẩn hoá, nhận diện và trả về chuỗi 4 chữ số. Kết quả trả về JSON {"success": true, "text": "1234"}.
Thử ngay — Upload ảnh captcha
Kéo thả hoặc chọn file ảnh captcha để nhận diện kết quả ngay lập tức từ API.
Tài liệu API
Endpoint đơn giản, tương thích mọi ngôn ngữ. Hỗ trợ 4 phương thức gửi ảnh khác nhau.
Nhận diện captcha 4 chữ số từ ảnh. Hỗ trợ multipart upload, JSON base64, form-data, và raw binary.
| Tên | Loại | Bắt buộc | Mô tả |
|---|---|---|---|
| file | file | Tùy chọn* | File ảnh gửi qua multipart/form-data |
| image | string | Tùy chọn* | Chuỗi base64 của ảnh (JSON body hoặc form field) |
| base64 | string | Tùy chọn* | Alias của image — cũng được chấp nhận |
| body | binary | Tùy chọn* | Raw bytes của ảnh trong request body |
* Cần ít nhất một trong 4 phương thức trên.
{
"success": true,
"text": "1234"
}
{
"success": false,
"text": null,
"error": "Không nhận diện..."
}
import requests # ── Phương thức 1: Multipart File Upload ── API_URL = "https://captchaapi.hacodev.io.vn/captcha/ocr/4pin" with open("captcha.png", "rb") as f: response = requests.post( API_URL, files={"file": ("captcha.png", f, "image/png")} ) data = response.json() if data["success"]: print(f"Captcha: {data['text']}") else: print(f"Lỗi: {data.get('error')}")
import requests, base64 # ── Phương thức 2: JSON với Base64 ── API_URL = "https://captchaapi.hacodev.io.vn/captcha/ocr/4pin" with open("captcha.png", "rb") as f: b64 = base64.b64encode(f.read()).decode() response = requests.post( API_URL, json={"image": b64} # hoặc: json={"base64": b64} ) data = response.json() print(data["text"]) # "1234" # ── Với Data URI prefix ── b64_uri = f"data:image/png;base64,{b64}" response2 = requests.post(API_URL, json={"image": b64_uri}) # API tự strip prefix data:image/...;base64,
import requests # ── Phương thức 3: Raw Binary ── API_URL = "https://captchaapi.hacodev.io.vn/captcha/ocr/4pin" with open("captcha.png", "rb") as f: raw_bytes = f.read() response = requests.post( API_URL, data=raw_bytes, headers={"Content-Type": "application/octet-stream"} ) result = response.json() print(f"Kết quả: {result['text']}") # ── Dùng trong vòng lặp giải nhiều captcha ── import os folder = "./captchas/" for fname in os.listdir(folder): with open(os.path.join(folder, fname), "rb") as f: r = requests.post(API_URL, files={"file": f}) print(fname, "->", r.json()["text"])
# ── File Upload ── curl -X POST https://captchaapi.hacodev.io.vn/captcha/ocr/4pin \ -F "file=@captcha.png" # ── JSON Base64 ── B64=$(base64 -w0 captcha.png) curl -X POST https://captchaapi.hacodev.io.vn/captcha/ocr/4pin \ -H "Content-Type: application/json" \ -d "{\"image\": \"$B64\"}" # ── Raw Binary ── curl -X POST https://captchaapi.hacodev.io.vn/captcha/ocr/4pin \ -H "Content-Type: application/octet-stream" \ --data-binary @captcha.png # ── Response mẫu ── # {"success": true, "text": "1234"}
Admin & Hỗ trợ kỹ thuật
Cần hỗ trợ tích hợp, mua key API hoặc gặp lỗi? Liên hệ ngay qua các kênh bên dưới — phản hồi trong vài phút.