Troubleshooting

CAPTCHA Başarı Oranındaki Düşüşü Çözme: Teşhis Akış Şeması

Çözüm oranınız düştüğünde tahminde bulunmayın; temel nedeni bulmak ve düzeltmek için bu sistematik tanıyı takip edin.


Tanı Akış Şeması

Success rate dropped
│
├── Are tokens being generated?
│   ├── NO → Check API errors
│   │   ├── ERROR_WRONG_GOOGLEKEY → Sitekey changed. Re-extract.
│   │   ├── ERROR_BAD_PARAMETERS → Check required params
│   │   ├── ERROR_NO_SLOT → Retry with backoff
│   │   └── Other errors → See error decision tree
│   │
│   └── YES → Tokens generated but rejected by target site
│       │
│       ├── Token expired before use?
│       │   └── YES → Submit token faster (< 60-120s)
│       │
│       ├── Token used for wrong domain?
│       │   └── YES → Check pageurl matches submission domain
│       │
│       ├── reCAPTCHA v3 score too low?
│       │   └── YES → Check action parameter, try min_score
│       │
│       ├── Site changed CAPTCHA type?
│       │   └── YES → Re-detect CAPTCHA type
│       │
│       └── Site added additional checks?
│           └── YES → Check for fingerprinting, cookies, headers

1. Adım: Mevcut Hızınızı Ölçün

import requests
import time
from collections import defaultdict


class SuccessTracker:
    """Track solve success rates over time."""

    def __init__(self):
        self.stats = defaultdict(lambda: {"attempts": 0, "success": 0, "errors": defaultdict(int)})

    def record(self, method, success, error_code=None):
        self.stats[method]["attempts"] += 1
        if success:
            self.stats[method]["success"] += 1
        elif error_code:
            self.stats[method]["errors"][error_code] += 1

    def report(self):
        for method, data in self.stats.items():
            rate = data["success"] / data["attempts"] * 100 if data["attempts"] > 0 else 0
            print(f"\n{method}:")
            print(f"  Attempts: {data['attempts']}")
            print(f"  Success: {data['success']} ({rate:.1f}%)")
            if data["errors"]:
                print("  Errors:")
                for err, count in sorted(data["errors"].items(), key=lambda x: -x[1]):
                    print(f"    {err}: {count}")


tracker = SuccessTracker()

Adım 2: Sorun Kategorisini Belirleyin

Kategori A: API Düzeyinde Hatalar

CaptchaAI API'si belirteç yerine hata döndürüyor.

def diagnose_api_failures(api_key, method, params, attempts=10):
    """Run test solves and collect error patterns."""
    errors = defaultdict(int)
    successes = 0

    for i in range(attempts):
        try:
            resp = requests.post("https://ocr.captchaai.com/in.php", data={
                "key": api_key, "method": method, "json": 1, **params,
            }, timeout=30)
            result = resp.json()

            if result.get("status") != 1:
                errors[result.get("request", "UNKNOWN")] += 1
                continue

            task_id = result["request"]
            # Quick poll
            time.sleep(15)
            resp = requests.get("https://ocr.captchaai.com/res.php", params={
                "key": api_key, "action": "get",
                "id": task_id, "json": 1,
            }, timeout=15)
            data = resp.json()

            if data.get("status") == 1:
                successes += 1
            else:
                errors[data.get("request", "POLL_ERROR")] += 1

        except Exception as e:
            errors[f"EXCEPTION:{type(e).__name__}"] += 1

        time.sleep(2)

    print(f"\nResults: {successes}/{attempts} success")
    for err, count in sorted(errors.items(), key=lambda x: -x[1]):
        print(f"  {err}: {count}")

Kategori B: Token Reddi

CaptchaAI geçerli bir belirteç döndürür, ancak hedef site bunu reddeder.

Genel nedenler:

Sebep Kontrol et
Jetonun süresi doldu Oluşturulduktan sonra > 120 saniye boyunca jetonun kullanılması
Alan adı uyuşmazlığı pageurl gönderim alanıyla eşleşmiyor
v3 puanı çok düşük Site 0,7+ gerektirir ancak çözücü 0,3 alır
İşlem eksik v3, eşleşen eylem parametresini gerektirir
Sitenin parametreleri değiştirildi Site anahtarı veya sayfa yapısı değişti

3. Adım: Yaygın Sorunları Düzeltin

Düzeltme: Token Sona Ermesi

def solve_and_use_immediately(api_key, sitekey, pageurl):
    """Solve and use token as fast as possible."""
    # Submit
    resp = requests.post("https://ocr.captchaai.com/in.php", data={
        "key": api_key,
        "method": "userrecaptcha",
        "googlekey": sitekey,
        "pageurl": pageurl,
        "json": 1,
    }, timeout=30)
    task_id = resp.json()["request"]

    # Poll aggressively
    for _ in range(24):
        time.sleep(5)
        resp = requests.get("https://ocr.captchaai.com/res.php", params={
            "key": api_key, "action": "get",
            "id": task_id, "json": 1,
        }, timeout=15)
        data = resp.json()
        if data.get("status") == 1:
            token = data["request"]
            # USE IMMEDIATELY — don't store for later
            submit_form(token)
            return True

    return False

Düzeltme: Eski Site Anahtarı

def solve_with_fresh_params(api_key, pageurl):
    """Re-extract sitekey before each solve."""
    import re

    resp = requests.get(pageurl, timeout=15)
    match = re.search(r'data-sitekey="([^"]+)"', resp.text)
    if not match:
        raise RuntimeError("Could not find sitekey")

    sitekey = match.group(1)
    # Now solve with fresh sitekey
    # ...

Düzeltme: v3 Eylem Parametresi

# Check what action the site uses
# Look for: grecaptcha.execute('sitekey', {action: 'submit'})

data = {
    "key": api_key,
    "method": "userrecaptcha",
    "googlekey": sitekey,
    "pageurl": pageurl,
    "version": "v3",
    "action": "submit",  # Must match site's action
    "min_score": "0.7",
    "json": 1,
}

Beklenen Başarı Oranları

CAPTCHA Türü Normal Oran Uyarı Eşiği
reCAPTCHA v2 %95-99 %90'ın altında
reCAPTCHA v3 %90-98 %85'in altında
Cloudflare Turnstile %99-100 %95'in altında
GeeTest v3 %99-100 %95'in altında
BLS %99-100 %95'in altında
Resim/OCR %90-98 %85'in altında

Sorun giderme

Sorun Sebep Düzeltme
Oran %98'den %70'e düştü Site anahtarı veya sayfa değiştirildi Tüm parametreleri yeniden çıkarın
v3 belirteçlerinin tümü reddedildi Yanlış eylem parametresi İşlemi sayfa kaynağından eşleştir
Jetonlar çalışır ancak geçerliliği sona erer Kullanımı çok yavaş Tokenı 60 saniye içinde gönderin
Oran günün saatine göre değişir Sunucu tarafı hız sınırlaması Gönderimler arasına gecikmeler ekleyin

SSS

Normal başarı oranı nedir?

Çoğu CAPTCHA türü için %95+. Sürekli olarak %90'ın altındaysanız muhtemelen bir parametre veya zamanlama sorunu vardır.

Jetonları ne kadar hızlı kullanmam gerekiyor?

reCAPTCHA belirteçlerinin süresi 120 saniye içinde dolar. Turnstile jetonları 300 saniye içinde. En iyi sonuçları elde etmek için jetonları 60 saniye içinde kullanın.

Yanlış çözümleri bildirmeli miyim?

Evet. Yanlış çözümleri bildirmek için reportbad uç noktasını kullanın. CaptchaAI bu geri bildirimi doğruluğu artırmak için kullanır.


İlgili Kılavuzlar


Hızlı teşhis edin, daha iyi çözün —CaptchaAI'yi kullanın.

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

İlgili Yazılar

DevOps & Scaling CAPTCHA Çözme Altyapısı için Mavi-Yeşil Dağıtım
Üretimdeki Captcha AI iş akışlarına yönelik mimari kararları, işletim hususlarını ve otomasyon modellerini içeren CAPTCHA Çözme Altyapısı için Mavi-Yeşil Dağıtı...

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

Apr 27, 2026
DevOps & Scaling Azure İşlevleri + CaptchaAI: Bulut Entegrasyonu
Azure İşlevleri + Captcha AI: Bulut Entegrasyonu için Dev Ops kılavuzu, üretimdeki Captcha AI iş akışlarına yönelik mimari kararları, işletim hususlarını ve oto...

Azure İşlevleri + Captcha AI: Bulut Entegrasyonu için Dev Ops kılavuzu, üretimdeki Captcha AI iş akışlarına yö...

Apr 23, 2026
DevOps & Scaling CaptchaAI Çalışan Dağıtımı için Ansible Playbook'lar
Ansible Playbook'lar için Captcha AI Çalışan Dağıtımı için Dev Ops kılavuzu, üretimdeki Captcha AI iş akışlarına yönelik mimari kararları, işletim hususlarını v...

Ansible Playbook'lar için Captcha AI Çalışan Dağıtımı için Dev Ops kılavuzu, üretimdeki Captcha AI iş akışları...

Apr 19, 2026