Troubleshooting

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

يواجه حل BLS CAPTCHA تحديات فريدة لأنه يستخدم تطبيقًا مخصصًا. فيما يلي الأخطاء الأكثر شيوعًا وحلولها.


أخطاء إرسال واجهة برمجة التطبيقات

ERROR_BAD_PARAMETERS

السبب: المعلمات المطلوبة مفقودة — إما تعليمات أو صور.

الإصلاح:

# WRONG — missing instructions
response = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY, "method": "bls",
    "image_base64_1": img1, "json": 1
})

# CORRECT — include instructions
response = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY, "method": "bls",
    "instructions": "Select all images with a car",
    "image_base64_1": img1, "json": 1
})

ERROR_WRONG_FILE_EXTENSION

السبب: بيانات الصورة غير صالحة لـ base64 أو أنها بتنسيق غير مدعوم.

الإصلاح:

  • تأكد من أن الصور بتنسيق PNG أو JPEG بترميز base64
  • قم بإزالة البادئة data:image/...;base64,
  • تحقق من عدم اقتطاع سلسلة base64
import base64

# Strip the data URI prefix
src = img_element.get_attribute("src")
if src.startswith("data:image"):
    b64 = src.split(",")[1]
else:
    # Download and encode
    img_data = requests.get(src).content
    b64 = base64.b64encode(img_data).decode()

ERROR_CAPTCHA_UNSOLVABLE

السبب: جودة الصور منخفضة جدًا أو غير واضحة أو أن التعليمات غامضة.

الإصلاح:

  • التقاط الصور بدقة كاملة
  • تأكد من استخراج نص التعليمات بشكل صحيح
  • إعادة المحاولة - بعض التحديات تكون أكثر صعوبة بطبيعتها

أخطاء استخراج الصورة

يتم تحميل الصور ديناميكيًا

المشكلة: الصور غير موجودة في DOM عند تحميل الصفحة لأول مرة.

الإصلاح: انتظر حتى يتم عرض رمز التحقق بالكامل:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Wait for captcha images to load
WebDriverWait(driver, 10).until(
    EC.presence_of_all_elements_located((By.CSS_SELECTOR, ".captcha-image img"))
)

الصور عبارة عن لوحات قماشية وليست عناصر img

المشكلة: تعرض بعض تطبيقات BLS الصور على عناصر <canvas>.

الإصلاح: استخراج بيانات اللوحة القماشية كـ base64:

canvas_elements = driver.find_elements(By.CSS_SELECTOR, ".captcha-canvas")
for i, canvas in enumerate(canvas_elements, 1):
    b64 = driver.execute_script(
        "return arguments[0].toDataURL('image/png').split(',')[1];",
        canvas
    )
    payload[f"image_base64_{i}"] = b64

الصور وراء مكافحة الارتباط السريع

المشكلة: تعرض عناوين URL للصورة 403 عند جلبها من خارج المتصفح.

الإصلاح: استخراج الصور داخل سياق المتصفح:

# Get image data from within the browser
b64 = driver.execute_script("""
    var img = arguments[0];
    var canvas = document.createElement('canvas');
    canvas.width = img.naturalWidth;
    canvas.height = img.naturalHeight;
    canvas.getContext('2d').drawImage(img, 0, 0);
    return canvas.toDataURL('image/png').split(',')[1];
""", img_element)

أخطاء تطبيق الحل

تم اختيار صور خاطئة

السبب: عدم تطابق ترتيب الصور بين الاستخراج والعرض.

الإصلاح: الحفاظ على الترتيب المتسق:

# Ensure images are indexed in display order
captcha_imgs = driver.find_elements(By.CSS_SELECTOR, ".captcha-image img")
# The order of find_elements matches DOM order = display order
for i, img in enumerate(captcha_imgs, 1):
    payload[f"image_base64_{i}"] = extract_base64(img)

مؤشرات الحل غير متطابقة

السبب: تقوم CaptchaAI بإرجاع مؤشرات تعتمد على 1، لكن التعليمات البرمجية الخاصة بك تستخدم مؤشرات تعتمد على 0.

الإصلاح:

solution = result["request"]  # e.g., "1,3,5"
indices = [int(i) for i in solution.split(",")]

# Convert to 0-based for array access
for idx in indices:
    captcha_imgs[idx - 1].click()  # 1-based → 0-based

فشل إرسال النموذج بعد الاختيار الصحيح

السبب: حقول النموذج الإضافية أو الرموز المميزة مفقودة.

الإصلاح: التحقق من الحقول المخفية التي يجب إرسالها بجانب رمز التحقق:

# Look for hidden captcha tokens
hidden_fields = driver.find_elements(By.CSS_SELECTOR, "input[type='hidden']")
for field in hidden_fields:
    name = field.get_attribute("name")
    value = field.get_attribute("value")
    print(f"Hidden field: {name}={value}")

أخطاء المهلة

تنتهي صلاحية كلمة التحقق قبل اكتمال الحل

المشكلة: يحتوي BLS CAPTCHA على نافذة صلاحية قصيرة.

الإصلاح:

  • قم باستخراج الصور وإرسالها إلى CaptchaAI على الفور
  • لا تقم باستخراج الصور ثم انتظر قبل الإرسال
  • إذا استغرق الحل أكثر من 60 ثانية، فقد تكون كلمة التحقق قد انتهت صلاحيتها، قم بالتحديث ثم أعد المحاولة

يستغرق الاقتراع وقتا طويلا

الإصلاح: تأكد من أنك تقوم بالتصويت بشكل صحيح:

# Standard polling pattern
for _ in range(30):  # 30 attempts × 5 seconds = 150 seconds max
    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.get("status") == 1:
        return result["request"]
    if result.get("request") == "ERROR_CAPTCHA_UNSOLVABLE":
        # Don't keep polling — start over
        raise Exception("Unsolvable")

قائمة التحقق من التصحيح

تحقق العمل
التعليمات المستخرجة؟ طباعة والتحقق من نص التعليمات
الصور صالحة؟ احفظ base64 في الملف وافتحه للتحقق
عدد الصور صحيح؟ قارن بين عدد الصور المرسلة والمعروضة
ترتيب الصور صحيح؟ تحقق من تطابق ترتيب DOM مع ترتيب العرض
تجريد البادئة Base64؟ إزالة data:image/...;base64,
صيغة الحل؟ تحليل المؤشرات المستندة إلى 1 مفصولة بفواصل
تحويل المؤشر؟ اطرح 1 للوصول إلى الصفيف المستند إلى 0

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

كم عدد الصور التي يجب أن أرسلها إلى CaptchaAI؟

أرسل كافة الصور المعروضة في اختبار CAPTCHA، عادةً من 3 إلى 9. استخدم image_base64_1 من خلال image_base64_9.

ماذا لو كان التدريس بلغة غير الإنجليزية؟

أرسل التعليمات تمامًا كما هو معروض. يتعامل CaptchaAI مع التعليمات متعددة اللغات.

هل يمكنني تحميل الصور مسبقا لتسريع الحل؟

لا، يقوم BLS بإنشاء صور فريدة لكل جلسة. يجب عليك استخراجها جديدة لكل مثيل من رموز التحقق.

ماذا لو قام BLS بتغيير تنسيق CAPTCHA الخاص به؟

إذا تغير التنسيق، فقد يحتاج كود استخراج الصورة إلى التحديث. ستظل معلمات CaptchaAI API (method=bls والتعليمات والصور) كما هي.


أدلة ذات صلة

النقاشات (0)

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

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

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

شرح خطوة بخطوة لـ BLS CAPTCHA: فهم رموز التعليمات وحلها مع أمثلة مباشرة قابلة لإعادة الاستخدام ومسار واضح لتطب...

Apr 24, 2026
Comparisons BLS CAPTCHA مقابل reCAPTCHA Grid
مقارنة عملية حول BLS CAPTCHA مقابل re CAPTCHA Grid تركّز على الفروق في التكلفة والدقة وزمن الاستجابة وسهولة الدمج، مع التأكيد على أن الحكم النهائي يجب أن يعتمد...

مقارنة عملية حول BLS CAPTCHA مقابل re CAPTCHA Grid تركّز على الفروق في التكلفة والدقة وزمن الاستجابة وسهولة ال...

Apr 24, 2026
Comparisons مقارنة أفضل خدمات حل CAPTCHA في 2025
مقارنة عملية حول مقارنة أفضل خدمات حل CAPTCHA في 2025 تركّز على الفروق في التكلفة والدقة وزمن الاستجابة وسهولة الدمج، مع التأكيد على أن الحكم النهائي يجب أن يعت...

مقارنة عملية حول مقارنة أفضل خدمات حل CAPTCHA في 2025 تركّز على الفروق في التكلفة والدقة وزمن الاستجابة وسهولة...

Apr 22, 2026