BLS CAPTCHA trình bày một lưới hình ảnh 3 × 3 với mã lệnh bằng số chỉ định ô nào cần chọn. Hướng dẫn này chỉ cho bạn cách giải BLS CAPTCHA từ Node.js bằng cách sử dụngCaptchaAIAPI.
Điều kiện tiên quyết
| Mục | Giá trị |
|---|---|
| Khóa API CaptchaAI | Từcaptchaai.com |
| Node.js | 14+ |
| Thư viện | axios (npm install axios) |
BLS CAPTCHA hoạt động như thế nào
Lưới 3×3 được đánh số từ trái sang phải, từ trên xuống dưới:
1 | 2 | 3
---------
4 | 5 | 6
---------
7 | 8 | 9
Lệnh số (ví dụ: "664") chỉ định nội dung cần chọn. CaptchaAI trả về chỉ mục của các ô phù hợp.
Bước 1: Trích xuất hình ảnh lưới
const axios = require('axios');
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com/bls-form');
// Get instruction code
const instruction = await page.$eval('.bls-instruction', (el) => el.textContent.trim());
// Get all 9 cell image URLs and convert to base64
const cellImages = await page.$$eval('.bls-grid img', (imgs) =>
imgs.map((img) => img.src)
);
const images = [];
for (const src of cellImages) {
if (src.startsWith('data:')) {
images.push(src);
} else {
const { data } = await axios.get(src, { responseType: 'arraybuffer' });
const b64 = Buffer.from(data).toString('base64');
images.push(`data:image/png;base64,${b64}`);
}
}
Bước 2: Gửi tới CaptchaAI
const API_KEY = 'YOUR_API_KEY';
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
const params = new URLSearchParams({
key: API_KEY,
method: 'bls',
instructions: instruction,
json: '1',
});
// Add all 9 images
images.forEach((img, i) => {
params.append(`image_base64_${i + 1}`, img);
});
const { data: submitData } = await axios.post(
'https://ocr.captchaai.com/in.php',
params.toString()
);
if (submitData.status !== 1) throw new Error(submitData.request);
const taskId = submitData.request;
console.log(`Task submitted: ${taskId}`);
Bước 3: Thăm dò ý kiến giải pháp
await sleep(5000);
let selectedCells;
for (let i = 0; i < 30; i++) {
const { data: pollData } = await axios.get('https://ocr.captchaai.com/res.php', {
params: { key: API_KEY, action: 'get', id: taskId, json: 1 },
});
if (pollData.status === 1) {
selectedCells = JSON.parse(pollData.request);
console.log('Selected cells:', selectedCells);
break;
}
if (pollData.request !== 'CAPCHA_NOT_READY') {
throw new Error(pollData.request);
}
await sleep(5000);
}
Bước 4: Click vào ô đúng
// Click each identified cell
const gridCells = await page.$$('.bls-grid img');
for (const cellNum of selectedCells) {
await gridCells[cellNum - 1].click();
}
// Submit the form
await page.click('.bls-submit');
console.log(`Solved: clicked cells ${JSON.stringify(selectedCells)}`);
await browser.close();
Sản lượng dự kiến:
Selected cells: [1, 4, 7, 8]
Solved: clicked cells [1,4,7,8]
Các lỗi thường gặp
| Lỗi | nguyên nhân | sửa chữa |
|---|---|---|
ERROR_BAD_PARAMETERS |
Thiếu hình ảnh hoặc hướng dẫn | Gửi đủ 9 hình ảnh và mã hướng dẫn |
CAPCHA_NOT_READY |
Vẫn đang xử lý | Tiếp tục bỏ phiếu cứ sau 5 giây |
ERROR_ZERO_BALANCE |
Không có tiền | Nạp tiền vào tài khoản CaptchaAI của bạn |
Câu hỏi thường gặp
BLS CAPTCHA có hỗ trợ lưới 4×4 không?
BLS CAPTCHA sử dụng lưới 3 × 3 (9 ô). Đối với lưới 4×4, thay vào đó hãy sử dụng phương pháp Hình ảnh lưới.
BLS giải quyết nhanh như thế nào?
Thông thường là 5–15 giây.
Tôi có thể sử dụng Playwright thay vì Puppeteer không?
Vâng. Tương tác API giống nhau — chỉ cần thay đổi lệnh gọi tự động hóa trình duyệt.