دروس API

قم بحل BLS CAPTCHA باستخدام Node.js وCaptchaAI

يقدم BLS CAPTCHA شبكة من الصور مقاس 3 × 3 مع رمز تعليمات رقمي يحدد الخلايا التي سيتم تحديدها. يوضح لك هذا البرنامج التعليمي كيفية حل ملفات BLS CAPTCHA من Node.js باستخدام ملفCaptchaAIواجهة برمجة التطبيقات.


المتطلبات الأساسية

البند القيمة
مفتاح CaptchaAI API منcaptchaai.com
Node.js 14+
مكتبة axios (npm install axios)

كيف يعمل 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 الصور أو التعليمات المفقودة أرسل جميع الصور التسعة ورمز التعليمات
CAPCHA_NOT_READY لا تزال المعالجة استمر في الاقتراع كل 5 ثواني
ERROR_ZERO_BALANCE لا أموال قم بتعبئة حساب CaptchaAI الخاص بك

الأسئلة الشائعة

هل يدعم BLS CAPTCHA شبكات 4×4؟

يستخدم BLS CAPTCHA شبكات 3 × 3 (9 خلايا). بالنسبة للشبكات 4×4، استخدم طريقة صورة الشبكة بدلاً من ذلك.

ما مدى سرعة حل BLS؟

عادة 5-15 ثانية.

هل يمكنني استخدام Playwright بدلاً من Puppeteer؟

نعم. تفاعل واجهة برمجة التطبيقات (API) هو نفسه — ما عليك سوى تغيير مكالمات أتمتة المتصفح.


أدلة ذات صلة


ابدأ في حل BLS CAPTCHAs باستخدام CaptchaAI →

التعليقات غير مفعّلة لهذا المقال.