Reference

CAPTCHA Karşılaştırması CaptchaAI ile Türler Arası Süreleri Çözme

Zaman sorunlarını çözün. Çözüm başına 10 saniyelik bir fark, binlerce görevde saatlerce gecikmeye neden olur. Bu kılavuz, her CAPTCHA türü için tekrarlanabilir kıyaslamalar sağlarCaptchaAIdestekler ve ayrıca kendi ölçümlerinizi çalıştırmak için komut dosyaları.

Tipik Çözüm Süreleri

Bu kıyaslamalar, API gönderiminden sonuç alımına kadar ölçülen, tür başına 100 ardışık çözümden elde edilen ortalama süreleri yansıtır:

CAPTCHA Türü Medyan Çözümü P90 Çöz P99 Çöz Başarı Oranı
reCAPTCHA v2 12-18'ler 25'ler 40'lar yüksek
reCAPTCHA v2 Görünmez 10–15 saniye 20 saniye 35'ler yüksek
reCAPTCHA v3 8-12 saniye 18'ler 30'lar %90+
reCAPTCHA Kurumsal 15–25 saniye 35'ler 50 saniye %90+
Cloudflare Turnstile 5–10 saniye 15'ler 25'ler %99+
GeeTest v3 10–18 saniye 25'ler 40'lar %90+
Resim/OCR 3–8 saniye 12'li 20 saniye %85+
BLS CAPTCHA 5–10 saniye 15'ler 20 saniye %100

Süreler proxy kalitesine, sunucu yüküne ve CAPTCHA karmaşıklığına bağlı olarak değişiklik gösterir.

Çözüm Süresini Etkileyen Faktörler

Ağ Gecikmesi

CaptchaAI'nin API uç noktalarına olan mesafeniz gidiş-dönüş süresini artırır. 200 ms'lik bir RTT toplamda ~1 saniye ekler (gönderme + 3-4 anket × 200 ms).

Vekil Kalitesi

Proxy'leri kullanırken, kendi sunucu altyapınız'leri genellikle veri merkezi proxy'lerinden daha hızlı çözüm üretir çünkü daha az ikincil zorluğu tetiklerler.

CAPTCHA Karmaşıklığı

reCAPTCHA v2 görüntü zorlukları zorluk derecesine göre değişir. Solan resimlerle yapılan "trafik ışıklarını seçme" mücadelesi, basit bir onay kutusu doğrulamasından daha uzun sürer.

Anket Stratejisi

Agresif yoklama (her 2 saniyede bir) sonuçları daha hızlı algılar ancak API çağrılarını artırır. Muhafazakar yoklama (her 10 saniyede bir) yükü azaltır ancak gecikmeyi artırır.

Python Karşılaştırma Komut Dosyası

# benchmark_captchaai.py
import os
import time
import statistics
import requests

API_KEY = os.environ.get("CAPTCHAAI_KEY", "YOUR_API_KEY")

def benchmark_solve(method, params, runs=10):
    """Benchmark a CAPTCHA type over multiple runs."""
    times = []
    successes = 0

    for i in range(runs):
        start = time.time()

        # Submit
        submit_params = {"key": API_KEY, "json": "1", **params}
        resp = requests.get("https://ocr.captchaai.com/in.php",
                            params=submit_params)
        result = resp.json()

        if result.get("status") != 1:
            print(f"  Run {i+1}: Submit failed - {result.get('request')}")
            continue

        task_id = result["request"]

        # Poll
        time.sleep(10)
        solved = False
        for _ in range(30):
            poll = requests.get("https://ocr.captchaai.com/res.php", params={
                "key": API_KEY, "action": "get",
                "id": task_id, "json": "1",
            })
            poll_result = poll.json()

            if poll_result.get("status") == 1:
                elapsed = time.time() - start
                times.append(elapsed)
                successes += 1
                solved = True
                print(f"  Run {i+1}: {elapsed:.1f}s")
                break
            if poll_result.get("request") != "CAPCHA_NOT_READY":
                print(f"  Run {i+1}: Error - {poll_result.get('request')}")
                break

            time.sleep(5)

        if not solved and poll_result.get("request") == "CAPCHA_NOT_READY":
            print(f"  Run {i+1}: Timeout")

    if times:
        return {
            "runs": runs,
            "successes": successes,
            "success_rate": f"{successes/runs*100:.0f}%",
            "median": f"{statistics.median(times):.1f}s",
            "p90": f"{sorted(times)[int(len(times)*0.9)]:.1f}s" if len(times) >= 10 else "N/A",
            "min": f"{min(times):.1f}s",
            "max": f"{max(times):.1f}s",
        }
    return {"error": "No successful solves"}

# Benchmark reCAPTCHA v2
print("=== reCAPTCHA v2 ===")
recaptcha_v2 = benchmark_solve("userrecaptcha", {
    "method": "userrecaptcha",
    "googlekey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
    "pageurl": "https://www.google.com/recaptcha/api2/demo",
})
print(recaptcha_v2)

# Benchmark Image/OCR
print("\n=== Image CAPTCHA ===")
# Submit a base64-encoded test image
import base64
# Use a test image for benchmarking
image_result = benchmark_solve("post", {
    "method": "base64",
    "body": "BASE64_ENCODED_CAPTCHA_IMAGE",
})
print(image_result)

JavaScript Karşılaştırma Komut Dosyası

// benchmark_captchaai.js
const axios = require('axios');

const API_KEY = process.env.CAPTCHAAI_KEY || 'YOUR_API_KEY';

async function benchmarkSolve(params, runs = 10) {
  const times = [];
  let successes = 0;

  for (let i = 0; i < runs; i++) {
    const start = Date.now();

    // Submit
    const submit = await axios.get('https://ocr.captchaai.com/in.php', {
      params: { key: API_KEY, json: '1', ...params },
    });

    if (submit.data.status !== 1) {
      console.log(`  Run ${i + 1}: Submit failed - ${submit.data.request}`);
      continue;
    }

    // Poll
    await new Promise(r => setTimeout(r, 10000));
    let solved = false;

    for (let j = 0; j < 30; j++) {
      const poll = await axios.get('https://ocr.captchaai.com/res.php', {
        params: { key: API_KEY, action: 'get', id: submit.data.request, json: '1' },
      });

      if (poll.data.status === 1) {
        const elapsed = (Date.now() - start) / 1000;
        times.push(elapsed);
        successes++;
        solved = true;
        console.log(`  Run ${i + 1}: ${elapsed.toFixed(1)}s`);
        break;
      }
      if (poll.data.request !== 'CAPCHA_NOT_READY') {
        console.log(`  Run ${i + 1}: Error - ${poll.data.request}`);
        break;
      }
      await new Promise(r => setTimeout(r, 5000));
    }

    if (!solved) console.log(`  Run ${i + 1}: Timeout`);
  }

  if (times.length === 0) return { error: 'No successful solves' };

  times.sort((a, b) => a - b);
  return {
    runs, successes,
    successRate: `${((successes / runs) * 100).toFixed(0)}%`,
    median: `${times[Math.floor(times.length / 2)].toFixed(1)}s`,
    min: `${times[0].toFixed(1)}s`,
    max: `${times[times.length - 1].toFixed(1)}s`,
  };
}

(async () => {
  console.log('=== reCAPTCHA v2 ===');
  const v2 = await benchmarkSolve({
    method: 'userrecaptcha',
    googlekey: '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-',
    pageurl: 'https://www.google.com/recaptcha/api2/demo',
  });
  console.log(v2);

  console.log('\n=== Cloudflare Turnstile ===');
  const turnstile = await benchmarkSolve({
    method: 'turnstile',
    sitekey: 'YOUR_TURNSTILE_SITEKEY',
    pageurl: 'https://example.com',
  });
  console.log(turnstile);
})();

Sonuçların Yorumlanması

Medyan ve P90

  • Ortanca — Tipik deneyim. Bunu kapasite planlaması için kullanın.
  • P90 — 10 çözümden 9'u için "en kötü durum". Zaman aşımı ayarları için bunu kullanın.
  • P99 — Gerçek uç durum. Maksimum zaman aşımınızı bundan daha yükseğe ayarlayın.

Optimum Yoklama Aralıkları

Yukarıdaki karşılaştırmalara dayanarak yoklamayı CAPTCHA türüne göre yapılandırın:

CAPTCHA Türü İlk Bekleme Anket Aralığı Maksimum Deneme Sayısı
Resim/OCR 5'ler 3'ler 15
Cloudflare Turnstile 5'ler 3'ler 15
BLS CAPTCHA 5'ler 3'ler 15
reCAPTCHA v2 15'ler 5'ler 20
reCAPTCHA v3 10'lar 5'ler 20
GeeTest v3 12'li 5'ler 20
reCAPTCHA Kurumsal 15'ler 5'ler 25

Sorun giderme

Sorun Sebep Düzeltme
Listelenenden daha yüksek katları çözün Ağ gecikmesi veya proxy sorunları CaptchaAI sunucularına daha yakın bir bölgeden test yapın
Çalıştırmalar arasında tutarsız sonuçlar CAPTCHA zorluk değişimi Örnek boyutunu 50'den fazla çalışmaya artırın
Birçok zaman aşımı Geçersiz site anahtarı veya sayfa URL'si Tek bir manuel testle parametreleri doğrulayın
Kıyaslama sırasında ERROR_ZERO_BALANCE Tüm çalıştırmalar için yetersiz bakiye Büyük kıyaslamaları çalıştırmadan önce yükleme yapın

SSS

Çözüm süreleri günün saatine göre değişiklik gösteriyor mu?

Evet. Yoğun saatler (ABD çalışma saatleri), yüksek talep nedeniyle biraz daha uzun çözüm süreleri gösterebilir. Tam bir resim elde etmek için karşılaştırmaları farklı zamanlarda çalıştırın.

Bu verileri üretim zaman aşımı ayarları için kullanmalı mıyım?

Standart zaman aşımları için P90 değerlerini ve maksimum zaman aşımları için P99 değerlerini kullanın. Ağ değişkenliğini hesaba katmak için %20'lik bir arabellek ekleyin.

Proxy ayarları çözüm sürelerini nasıl etkiler?

Bir proxy sağlarsanız, CaptchaAI çözümü bunun üzerinden yönlendirir. Yavaş veya uzak proxy'ler toplam çözüm süresine 5-15 saniye ekleyebilir. Karşılaştırma için proxy'lerle ve proxy olmadan ayrı ayrı test edin.

İlgili Makaleler

Sonraki Adımlar

Karşılaştırma komut dosyalarını kendi hesabınıza ve CAPTCHA hedeflerinize göre çalıştırın —CaptchaAI API anahtarınızı alın.

İlgili kılavuzlar:

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

İlgili Yazılar

DevOps & Scaling Otomatik Ölçeklendirme CAPTCHA Çözme Çalışanları
Üretimdeki Captcha AI iş akışlarına yönelik mimari kararları, işletim hususlarını ve otomasyon modellerini içeren Otomatik Ölçeklendirme CAPTCHA Çözme Çalışanla...

Üretimdeki Captcha AI iş akışlarına yönelik mimari kararları, işletim hususlarını ve otomasyon modellerini içe...

Apr 21, 2026
Comparisons 2025'te CAPTCHA solver yanıt süresi nasıl ölçülür
Kendi ortamınızda CAPTCHA çözüm süresini ölçmek için metodoloji: medyan, P 90, P 99, dahili örneklem ve sağlayıcıları tutarlı biçimde karşılaştırma.

Kendi ortamınızda CAPTCHA çözüm süresini ölçmek için metodoloji: medyan, P 90, P 99, dahili örneklem ve sağlay...

May 07, 2026
Troubleshooting CAPTCHA Çözme Oranı Düşüşleri: Performans Regresyon Teşhisi
CAPTCHA Çözme Oranı Düşüşleri için pratik kılavuz: Performans Regresyon Teşhisi, yaygın nedenler, teşhis adımları ve Captcha AI ile uygulanacak somut düzeltmele...

CAPTCHA Çözme Oranı Düşüşleri için pratik kılavuz: Performans Regresyon Teşhisi, yaygın nedenler, teşhis adıml...

May 07, 2026