Comparisons

BLS CAPTCHA ve reCAPTCHA Izgarası - Karşılaştırma

Her ikisi de kullanıcıların bir metin istemine göre seçmesi gereken görselleri sunar. Ancak BLS CAPTCHA, yalnızca BLS Uluslararası vize sistemlerinde kullanılan özel bir uygulamadır, reCAPTCHA ise Google'ın küresel olarak dağıtılan çözümüdür. Çözüm yaklaşımları, entegrasyon gereksinimleri ve CaptchaAI API yöntemleri önemli ölçüde farklılık gösterir.


Yan yana karşılaştırma

Özellik BLS CAPTCHA reCAPTCHA Izgarası
sağlayıcı BLS Uluslararası (özel) Google
Biçim Farklı görüntüleri ayırın (3-9) Izgaraya bölünmüş tek görüntü (3×3 veya 4×4)
Dinamik döşemeler Hayır — sabit görüntü kümesi Evet — yeni döşemeler seçimden sonra yavaş yavaş beliriyor
Davranış analizi Asgari Kapsamlı (fare, zamanlama, IP)
Puan sistemi Yok Her talepte risk analizi
API yöntemi method=bls method=userrecaptcha
Gerekli parametreler instructions, image_base64_1..9 googlekey, pageurl
Yanıt formatı Görüntü endeksleri (ör. 1,3,5) Belirteç dizesi
Belirteç tabanlı çözüm Hayır — görüntüleri doğrudan çözmeli Evet - belirteç yöntemi ızgarayı dahili olarak yönetir
Tarayıcı gerekli Evet (görüntülerin DOM'dan çıkarılması gerekir) İsteğe bağlı (belirteç yöntemi tarayıcı olmadan çalışır)
Nerede kullanılır Yalnızca BLS vize randevu siteleri Dünya çapında milyonlarca site
Tipik çözüm süresi 5-15 saniye 10-30 saniye

BLS CAPTCHA'yi CaptchaAI ile çözme

BLS, sayfadaki her görselin çıkarılmasını, base64 olarak kodlanmasını ve talimat metniyle birlikte gönderilmesini gerektirir.

Python:

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

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

# Step 1: Extract instruction text
instruction = driver.find_element(By.CSS_SELECTOR, ".captcha-instruction").text
# Example: "Select all images with a motorcycle"

# Step 2: Extract and encode each image
images = driver.find_elements(By.CSS_SELECTOR, ".captcha-image img")
image_data = {}
for i, img in enumerate(images, 1):
    # Get image source and convert to base64
    src = img.get_attribute("src")
    if src.startswith("data:image"):
        b64 = src.split(",")[1]
    else:
        img_bytes = requests.get(src).content
        b64 = base64.b64encode(img_bytes).decode()
    image_data[f"image_base64_{i}"] = b64

# Step 3: Submit to CaptchaAI
payload = {
    "key": "YOUR_API_KEY",
    "method": "bls",
    "instructions": instruction,
    **image_data
}
resp = requests.post("https://ocr.captchaai.com/in.php", data=payload)
task_id = resp.text.split("|")[1]

# Step 4: Poll for result
for _ in range(30):
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": "YOUR_API_KEY", "action": "get", "id": task_id
    })
    if result.text.startswith("OK|"):
        indices = result.text.split("|")[1]  # e.g., "1,3,5"
        break

# Step 5: Click the correct images
for idx in indices.split(","):
    images[int(idx) - 1].click()
    time.sleep(0.3)  # Small delay between clicks

Node.js:

const axios = require("axios");
const puppeteer = require("puppeteer");

(async () => {
  const browser = await puppeteer.launch({ headless: "new" });
  const page = await browser.newPage();
  await page.goto("https://example-bls-site.com/appointment");

  // Extract instruction text
  const instruction = await page.$eval(
    ".captcha-instruction",
    (el) => el.textContent,
  );

  // Extract images as base64
  const imageElements = await page.$$(".captcha-image img");
  const imageData = {};
  for (let i = 0; i < imageElements.length; i++) {
    const src = await imageElements[i].evaluate((el) => el.src);
    let b64;
    if (src.startsWith("data:image")) {
      b64 = src.split(",")[1];
    } else {
      const resp = await axios.get(src, { responseType: "arraybuffer" });
      b64 = Buffer.from(resp.data).toString("base64");
    }
    imageData[`image_base64_${i + 1}`] = b64;
  }

  // Submit to CaptchaAI
  const formData = new URLSearchParams({
    key: "YOUR_API_KEY",
    method: "bls",
    instructions: instruction,
    ...imageData,
  });
  const submitResp = await axios.post(
    "https://ocr.captchaai.com/in.php",
    formData.toString(),
  );
  const taskId = submitResp.data.split("|")[1];

  // Poll for result
  let indices;
  for (let i = 0; i < 30; i++) {
    await new Promise((r) => setTimeout(r, 5000));
    const result = await axios.get("https://ocr.captchaai.com/res.php", {
      params: { key: "YOUR_API_KEY", action: "get", id: taskId },
    });
    if (result.data.startsWith("OK|")) {
      indices = result.data.split("|")[1];
      break;
    }
  }

  // Click correct images
  for (const idx of indices.split(",")) {
    await imageElements[parseInt(idx) - 1].click();
    await new Promise((r) => setTimeout(r, 300));
  }

  await browser.close();
})();

CaptchaAI ile reCAPTCHA Izgarasını Çözme

reCAPTCHA, simge tabanlı bir yaklaşım kullanır; görüntü çıkarmaya gerek yoktur.

Python:

import requests
import time

# Step 1: Extract sitekey from page
# <div class="g-recaptcha" data-sitekey="6Le-wvkS..."></div>
sitekey = "6Le-wvkSAAAAAPBMRTvw..."
page_url = "https://example.com/form"

# Step 2: Submit to CaptchaAI
resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": sitekey,
    "pageurl": page_url
})
task_id = resp.text.split("|")[1]

# Step 3: Poll for token
for _ in range(60):
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": "YOUR_API_KEY", "action": "get", "id": task_id
    })
    if result.text.startswith("OK|"):
        token = result.text.split("|")[1]
        break

# Step 4: Inject token (no clicking needed)
# Option A: Hidden field injection
driver.execute_script(
    f'document.getElementById("g-recaptcha-response").value = "{token}";'
)
# Option B: Pure HTTP submission
requests.post(page_url, data={"g-recaptcha-response": token, "other_field": "value"})

Node.js:

const axios = require("axios");

async function solveRecaptchaGrid(sitekey, pageUrl) {
  // Submit
  const submitResp = await axios.get("https://ocr.captchaai.com/in.php", {
    params: {
      key: "YOUR_API_KEY",
      method: "userrecaptcha",
      googlekey: sitekey,
      pageurl: pageUrl,
    },
  });
  const taskId = submitResp.data.split("|")[1];

  // Poll for token
  for (let i = 0; i < 60; i++) {
    await new Promise((r) => setTimeout(r, 5000));
    const result = await axios.get("https://ocr.captchaai.com/res.php", {
      params: { key: "YOUR_API_KEY", action: "get", id: taskId },
    });
    if (result.data.startsWith("OK|")) {
      return result.data.split("|")[1];
    }
  }
  throw new Error("Solve timed out");
}

Entegrasyon karmaşıklığı karşılaştırması

Görünüş BLS reCAPTCHA Izgarası
Görüntü çıkarma Her görüntünün DOM'dan manuel olarak çıkarılması gerekir Gerekli değil — belirteç yöntemi dahili olarak işlenir
Talimat işleme Sayfadan metin talimatı çıkarılmalıdır Gerekli değil
Base64 kodlaması Her resim için gereklidir Gerekli değil
Çözüm uygulaması Döndürülen indekslere göre görselleri tek tek tıklayın Belirteci gizli alana veya HTTP POST'a enjekte edin
Tarayıcı otomasyonu Gerekli — headless alternatif yok İsteğe bağlı — saf HTTP isteklerini kullanabilir
Hata kurtarma Başarısızlık durumunda görüntüleri yeniden çıkarın Başarısızlık durumunda jetonu yeniden iste
Eşzamanlı çözüm Sınırlı — tarayıcı oturumuna bağlı resimler Kolay — belirteç istekleri durum bilgisizdir
Kod satırları (tipik) 40-60 satır 15-25 satır

Hangi çözücü ne zaman kullanılmalı?

Senaryo Önerilen yaklaşım
BLS vize randevu rezervasyonu method=bls'yi görüntü çıkarmayla kullanın
reCAPTCHA'ya sahip herhangi bir site method=userrecaptcha'yi site anahtarıyla kullanın
Gömülü reCAPTCHA içeren BLS sitesi Eylemi hangisinin koruduğunu kontrol edin — BLS siteleri bazen her ikisini de kullanır
Bilinmeyen resim captcha'sı Öncelikle BLS markalı olup olmadığını kontrol edin; değilse reCAPTCHA veya OCR yöntemlerini deneyin

Sorun giderme

Sorun BLS düzeltmesi reCAPTCHA düzeltmesi
Yanlış cevap geri döndü Talimat metninin sayfada gösterilenle eşleştiğini kontrol edin Site anahtarının ve sayfa URL'sinin doğru olduğunu doğrulayın
Resimler yüklenmiyor Resim URL'lerini alırken User-Agent ve çerezleri ekleyin Uygulanamaz — getirilecek resim yok
Jeton reddedildi Sayfadaki indeksleri doğru sırayla tıklayın g-recaptcha-response'ye enjekte edin VE geri aramayı yürütün
Çok yavaş çöz Resim sayısını azaltın — yalnızca görünen resimleri gönderin Hedef sitenin yakınında proxy kullan

SSS

Hangisini çözmek daha zor?

BLS daha fazla entegrasyon çalışması gerektirir (görüntü çıkarma, talimat ayrıştırma ve indeks tabanlı tıklama) ancak görüntüler genellikle daha net ve basittir. reCAPTCHA'nın entegrasyonu daha kolaydır (belirteç yöntemi), ancak Google'ın zorlukları dinamik kutucuklarla daha karmaşık olabilir.

BLS için reCAPTCHA jeton yöntemini kullanabilir miyim?

Hayır. BLS bir reCAPTCHA uygulaması değildir. method=bls'yi ayrı ayrı base64 kodlu resimlerle ve talimat metniyle kullanmalısınız.

Her ikisi de Google'ın teknolojisini kullanıyor mu?

Hayır. BLS CAPTCHA, BLS Uluslararası vize hizmetleri için oluşturulmuş özel, tescilli bir uygulamadır. reCAPTCHA, dünya çapında milyonlarca web sitesinde kullanılan Google ürünüdür.

Hangisini geniş ölçekte çözmek daha uygun maliyetlidir?

Entegrasyonun daha basit olması (görüntü çıkarma ek yükü olmaması) ve eş zamanlı durum bilgisi olmayan istekleri çalıştırabilmeniz nedeniyle reCAPTCHA belirteç çözümleri genellikle yüksek hacimli işlemler için daha uygun maliyetlidir. BLS çözümü, her çözüm için bir tarayıcı oturumu gerektirir.

Her iki türü de aynı sayfada çözebilir miyim?

Evet. Bazı BLS siteleri, ilk doğrulama için özel CAPTCHA'larını ve form gönderimi için reCAPTCHA'larını kullanır. Her türü ayrı ayrı tespit edin ve her biri için uygun CaptchaAI yöntemini kullanın.


İlgili kılavuzlar

Bu makale için yorumlar devre dışı bırakılmıştır.

İlgili Yazılar

Tutorials BLS CAPTCHA: Talimat Kodlarını Anlamak ve Çözmek
BLS CAPTCHA için adım adım eğitim: Doğrudan yeniden kullanılabilir örnekler ve net bir Captcha AI iş akışıyla Talimat Kodlarını Anlamak ve Çözmek.

BLS CAPTCHA için adım adım eğitim: Doğrudan yeniden kullanılabilir örnekler ve net bir Captcha AI iş akışıyla...

Apr 26, 2026
Troubleshooting BLS CAPTCHA Hataları ve Sorun Giderme
Yaygın nedenleri, teşhis adımlarını ve Captcha AI ile uygulanacak somut düzeltmeleri içeren BLS CAPTCHA Hataları ve Sorun Giderme için pratik kılavuz.

Yaygın nedenleri, teşhis adımlarını ve Captcha AI ile uygulanacak somut düzeltmeleri içeren BLS CAPTCHA Hatala...

Apr 25, 2026
Comparisons Bot Tespiti ve CAPTCHA Kazıma Karşılaştırması — Bilmeniz Gerekenler
Bot Tespiti ve CAPTCHA Kazıma Karşılaştırması — Bilmeniz Gerekenler'in pratik karşılaştırması, Captcha AI etrafındaki maliyet, doğruluk, hız ve entegrasyon çaba...

Bot Tespiti ve CAPTCHA Kazıma Karşılaştırması — Bilmeniz Gerekenler'in pratik karşılaştırması, Captcha AI etra...

Apr 27, 2026