Туториалы по API

Решите BLS CAPTCHA с помощью Node.js и CaptchaAI

BLS CAPTCHA представляет собой сетку изображений 3×3 с числовым кодом инструкции, указывающим, какие ячейки выбирать. В этом руководстве показано, как решить BLS CAPTCHA из Node.js с помощьюCaptchaAIAPI.


Предварительные условия

Элемент Ценить
CaptchaAI API-ключ Отcaptchaai.com
Node.js 14+
Библиотека ЗЗТОКЕН0ЗЗ (ЗЗТОКЕН1ЗЗ)

Как работает BLS CAPTCHA

Сетка 3×3, пронумерованная слева направо и сверху вниз:

1 | 2 | 3
---------
4 | 5 | 6
---------
7 | 8 | 9

Числовая инструкция (например, «664») указывает, что выбрать. CaptchaAI возвращает индексы совпадающих ячеек.


Шаг 1. Извлечение изображений сетки

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}`);
  }
}

Шаг 2. Отправьте заявку на 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}`);

Шаг 3. Опрос для поиска решения

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);
}

Шаг 4. Щелкните правильные ячейки.

// 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();

Ожидаемый результат:

Selected cells: [1, 4, 7, 8]
Solved: clicked cells [1,4,7,8]

Распространенные ошибки

Ошибка Причина Исправить
ERROR_BAD_PARAMETERS Отсутствуют изображения или инструкция Отправьте все 9 изображений и код инструкции.
CAPCHA_NOT_READY Все еще обрабатывается Продолжайте опрос каждые 5 секунд
ERROR_ZERO_BALANCE Нет средств Пополните свой счет CaptchaAI

Часто задаваемые вопросы

Поддерживает ли BLS CAPTCHA сетку 4×4?

BLS CAPTCHA использует сетки 3×3 (9 ячеек). Для сеток 4×4 вместо этого используйте метод Grid Image.

Как быстро решается BLS?

Обычно 5–15 секунд.

Могу ли я использовать «Драматурга» вместо «Puppeteer»?

Да. Взаимодействие API такое же — просто измените вызовы автоматизации браузера.


Связанные руководства

  • Решите BLS CAPTCHA с помощью Python
  • Как решить BLS CAPTCHA

Начните решать BLS CAPTCHA с помощью CaptchaAI →

Комментарии для этой статьи отключены.