Tutorials

BLS CAPTCHA: فهم رموز التعليمات وحلها

تقدم BLS CAPTCHAs شبكة 3 × 3 من الصور مع رمز تعليمات رقمي. يجب على المستخدم تحديد الخلايا التي تطابق التعليمات. CaptchaAI يحل مشاكل BLS CAPTCHA بدقة عالٍ - يغطي هذا الدليل كيفية استخراج الشبكة، وقراءة رمز التعليمات، وإرسال كل شيء إلى واجهة برمجة التطبيقات.


كيف تعمل BLS CAPTCHA

يعرض BLS CAPTCHA:

  1. شبكة 3×3 تحتوي على 9 خلايا صور
  2. رمز تعليمات رقمي (على سبيل المثال، 664، 123، 546) يحدد الخلايا المطلوب تحديدها
  3. يتم ترقيم الخلايا من اليسار إلى اليمين ومن الأعلى إلى الأسفل:
1  2  3
4  5  6
7  8  9

يخبر رمز التعليمات الحلال بالنمط الذي يجب البحث عنه. الاستجابة عبارة عن مجموعة من مؤشرات الخلايا (1-9) المتطابقة.


الخطوة 1: استخراج صور الشبكة ورمز التعليمات

بايثون (السيلينيوم)

import base64
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://example.com/bls-protected-page")

# Find the grid container
grid_cells = driver.find_elements(By.CSS_SELECTOR, ".captcha-grid img")

images = []
for cell in grid_cells:
    src = cell.get_attribute("src")
    if src.startswith("data:image"):
        images.append(src)
    else:
        # Download and convert to base64
        import requests
        img_data = requests.get(src).content
        b64 = base64.b64encode(img_data).decode()
        images.append(f"data:image/png;base64,{b64}")

# Extract the instruction code
instruction_el = driver.find_element(By.CSS_SELECTOR, ".captcha-instruction")
instruction_code = instruction_el.text.strip()
# e.g., "664" or parsed from "Select all boxes with number 664"

import re
code_match = re.search(r'(\d{3,})', instruction_code)
instruction = code_match.group(1) if code_match else instruction_code

print(f"Instruction: {instruction}")
print(f"Images extracted: {len(images)}")

JavaScript (Puppeteer)

const puppeteer = require('puppeteer');

const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com/bls-protected-page');

// Extract grid images as base64
const images = await page.evaluate(() => {
  const cells = document.querySelectorAll('.captcha-grid img');
  return Array.from(cells).map(img => {
    const canvas = document.createElement('canvas');
    canvas.width = img.naturalWidth;
    canvas.height = img.naturalHeight;
    canvas.getContext('2d').drawImage(img, 0, 0);
    return canvas.toDataURL('image/png');
  });
});

// Extract instruction code
const instruction = await page.evaluate(() => {
  const el = document.querySelector('.captcha-instruction');
  const match = el.textContent.match(/(\d{3,})/);
  return match ? match[1] : el.textContent.trim();
});

console.log(`Instruction: ${instruction}, Images: ${images.length}`);

الخطوة 2: أرسل إلى CaptchaAI

يتطلب حل BLS method=bls، ورمز instructions، وجميع الصور التسعة مثل image_base64_1 حتى image_base64_9.

بايثون

import requests
import time
import json

API_KEY = "YOUR_API_KEY"

# Prepare submission data
data = {
    "key": API_KEY,
    "method": "bls",
    "instructions": instruction,
    "json": "1",
}

# Add all 9 images
files = {}
for i, img in enumerate(images):
    files[f"image_base64_{i+1}"] = (None, img)

# Submit
resp = requests.post(
    "https://ocr.captchaai.com/in.php",
    data=data,
    files=files
).json()

if resp["status"] != 1:
    raise Exception(f"Submit error: {resp['request']}")

task_id = resp["request"]
print(f"Task ID: {task_id}")

# Poll for result
for _ in range(20):
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": API_KEY, "action": "get", "id": task_id, "json": "1"
    }).json()

    if result["status"] == 1:
        solution = json.loads(result["request"])
        print(f"Selected cells: {solution}")  # e.g., [1, 4, 7, 8]
        break
    if result["request"] != "CAPCHA_NOT_READY":
        raise Exception(f"Error: {result['request']}")

JavaScript

const axios = require('axios');
const FormData = require('form-data');

const form = new FormData();
form.append('key', 'YOUR_API_KEY');
form.append('method', 'bls');
form.append('instructions', instruction);
form.append('json', '1');

images.forEach((img, i) => {
  form.append(`image_base64_${i + 1}`, img);
});

const submit = await axios.post('https://ocr.captchaai.com/in.php', form, {
  headers: form.getHeaders(),
});
const taskId = submit.data.request;

// Poll
let solution = null;
for (let i = 0; i < 20; i++) {
  await new Promise(r => setTimeout(r, 5000));
  const poll = await axios.get('https://ocr.captchaai.com/res.php', {
    params: { key: 'YOUR_API_KEY', action: 'get', id: taskId, json: 1 }
  });
  if (poll.data.status === 1) {
    solution = JSON.parse(poll.data.request);
    break;
  }
}
console.log('Selected cells:', solution); // e.g., [2, 4, 7]

الخطوة 3: انقر فوق الخلايا التي تم حلها

# Selenium — click the cells returned by CaptchaAI
grid_cells = driver.find_elements(By.CSS_SELECTOR, ".captcha-grid .cell")

for cell_index in solution:
    # cell_index is 1-based
    grid_cells[cell_index - 1].click()

# Submit the form
submit_btn = driver.find_element(By.CSS_SELECTOR, ".captcha-submit")
submit_btn.click()
// Puppeteer
const cells = await page.$$('.captcha-grid .cell');
for (const idx of solution) {
  await cells[idx - 1].click();
}
await page.click('.captcha-submit');

سير العمل الكامل

def solve_bls_captcha(driver, api_key):
    """Extract, solve, and submit a BLS CAPTCHA."""
    import base64, requests, time, json, re

    # 1. Extract images
    grid_cells = driver.find_elements(By.CSS_SELECTOR, ".captcha-grid img")
    images = []
    for cell in grid_cells:
        src = cell.get_attribute("src")
        if src.startswith("data:image"):
            images.append(src)
        else:
            img_data = requests.get(src).content
            b64 = base64.b64encode(img_data).decode()
            images.append(f"data:image/png;base64,{b64}")

    # 2. Extract instruction
    el = driver.find_element(By.CSS_SELECTOR, ".captcha-instruction")
    match = re.search(r'(\d{3,})', el.text)
    instruction = match.group(1)

    # 3. Submit to CaptchaAI
    data = {"key": api_key, "method": "bls", "instructions": instruction, "json": "1"}
    files = {f"image_base64_{i+1}": (None, img) for i, img in enumerate(images)}
    resp = requests.post("https://ocr.captchaai.com/in.php", data=data, files=files).json()
    task_id = resp["request"]

    # 4. Poll
    for _ in range(20):
        time.sleep(5)
        result = requests.get("https://ocr.captchaai.com/res.php", params={
            "key": api_key, "action": "get", "id": task_id, "json": "1"
        }).json()
        if result["status"] == 1:
            solution = json.loads(result["request"])
            break

    # 5. Click cells
    clickable = driver.find_elements(By.CSS_SELECTOR, ".captcha-grid .cell")
    for idx in solution:
        clickable[idx - 1].click()

    return solution

استكشاف الأخطاء وإصلاحها

مشكلة السبب إصلاح
ERROR_BAD_PARAMETERS الصور المفقودة أو لا توجد تعليمات تأكد من أن جميع الصور التسعة هي معرفات URI صالحة لبيانات base64
تم تحديد خلايا خاطئة تعيين الخلية إلى الفهرس غير صحيح تحقق من ترقيم الخلايا من 1 إلى 9 من اليسار إلى اليمين، ومن أعلى إلى أسفل
لا يتم تحميل الصور تقييد عبر الأصل قم بتنزيل الصور من جانب الخادم وتحويلها إلى base64
رمز تعليمات فارغ التعليمات مخفية في الصورة قم باستخراج نص التعليمات أو التعرف الضوئي على الحروف (OCR) على صورة التعليمات

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

ماذا يعني رمز تعليمات BLS؟

يخبر رمز التعليمات (على سبيل المثال، "664") اختبار CAPTCHA بالخلايا التي تحتوي على محتوى مطابق. يقوم CaptchaAI بتحليله، ولا تحتاج إلى تفسير الكود بنفسك.

ما مدى دقة CaptchaAI لـ BLS؟

تُسجّل CaptchaAI معدل دقة عالٍ جداً لـ BLS CAPTCHA في ظروف الاستخدام الاعتيادية.


قم بحل مسائل BLS CAPTCHA باستخدام CaptchaAI - بدقة عالٍ

احصل على مفتاح API الخاص بك علىcaptchaai.com.


أدلة ذات صلة

النقاشات (0)

لا توجد تعليقات بعد.

مقالات ذات صلة

API Tutorials تعليمات BLS CAPTCHA والغوص العميق في معلمات الكود
شرح خطوة بخطوة لـ تعليمات BLS CAPTCHA والغوص العميق في معلمات الكود مع أمثلة مباشرة قابلة لإعادة الاستخدام ومسار واضح لتطبيقه باستخدام Captcha AI.

شرح خطوة بخطوة لـ تعليمات BLS CAPTCHA والغوص العميق في معلمات الكود مع أمثلة مباشرة قابلة لإعادة الاستخدام ومس...

Apr 24, 2026
Use Cases BLS CAPTCHA في البوابات الحكومية: استراتيجيات التعامل
دليل عملي حول BLS CAPTCHA في البوابات الحكومية: استراتيجيات التعامل يشرح السيناريوهات الواقعية ونمط التشغيل الآمن والخطوات التي تجعل هذا المسار قابلاً للتكرار ب...

دليل عملي حول BLS CAPTCHA في البوابات الحكومية: استراتيجيات التعامل يشرح السيناريوهات الواقعية ونمط التشغيل ال...

Apr 23, 2026
DevOps & Scaling نشر عمّال CaptchaAI باستخدام Ansible
دليل تشغيلي لـ نشر عمّال Captcha AI باستخدام Ansible يغطّي قرارات البنية، والاعتمادية، والمراقبة، وأنماط الأتمتة المناسبة لتشغيل Captcha AI في بيئات الإنتاج.

دليل تشغيلي لـ نشر عمّال Captcha AI باستخدام Ansible يغطّي قرارات البنية، والاعتمادية، والمراقبة، وأنماط الأتم...

Apr 17, 2026