Troubleshooting

Cloudflare doğrulama akışı hataları: nedenleri ve çözümleri

Cloudflare doğrulama akışında aldığınız hataların neredeyse tamamı tek kurala dayanır: çözümün yapıldığı ortam ile sonraki isteklerinizin birebir eşleşmesi gerekir. Pratikte üç şey tutmalıdır:

  • IP — çözümü yapan proxy ile isteği gönderen çıkış aynı olmalı
  • User-Agent — çözüm yanıtında dönen değeri isteklerde aynen kullanın
  • proxy — Turnstile veya reCAPTCHA'dan farklı olarak burada zorunludur

Bu üçlü tutmadığında Cloudflare çerezi reddeder ve sizi doğrulama ekranında tutar. Cloudflare bu yüzden reCAPTCHA veya Turnstile'dan daha titizdir — ama hataların çoğu birkaç somut düzeltmeyle kapanır.


Önce şunu doğrulayın: hızlı teşhis

Çoğu hatayı bu sekiz maddede yakalarsınız:

  1. ✅ Sayfa gerçekten Cloudflare doğrulama akışının arkasında mı? (Turnstile veya reCAPTCHA değil)
  2. ✅ Zorunlu dört parametre de gönderiliyor mu? (method, pageurl, proxy, proxytype)
  3. ✅ Proxy çalışıyor mu? curl ile test edin
  4. ✅ Proxy'niz veri merkezi IP'si mi kullanıyor? (veri merkezi IP'leri sık engellenir)
  5. ✅ Çözüm ve isteklerde aynı proxy'yi mi kullanıyorsunuz?
  6. ✅ İsteklerde çözümden dönen User-Agent'ı mı kullanıyorsunuz?
  7. ✅ Çerez doğru alan adına mı ayarlanıyor?
  8. ✅ Çerez hâlâ TTL süresi içinde mi?

Bir madde çözüme götürmediyse ilgili gruba geçin.


En sık yapılan hataların özeti

Hata Sonuç Düzeltme
proxy parametresi eksik ERROR_BAD_PARAMETERS CF doğrulama akışında proxy'yi her zaman ekleyin
Veri merkezi proxy'si kullanma ERROR_PROXY_BANNED Veri merkezi dışı, temiz bir IP kullanın
İsteklerde farklı User-Agent Çerez reddedilir Çözüm yanıtındaki User-Agent'ı yeniden kullanın
İsteklerde farklı IP Çerez reddedilir Tüm istekler için aynı proxy'yi kullanın
Çerez alanı ayarlanmamış Çerez gönderilmez Alanı .example.com olarak ayarlayın (nokta önekiyle)
HTTPS yerine HTTP kullanma Bağlantı başarısız Cloudflare HTTPS gerektirir

Ayrıntılar aşağıda gruplandı.


Zaman aşımı ve bekleme hataları

Ayrıntılara girmeden önce süreyi doğru ayarlayın. Cloudflare doğrulama akışı diğer türlerden daha uzun sürer; bu normaldir. Sorun, bekleme sürenizi buna göre ayarlamamaktan doğar.

Çözüm çok uzun sürüyor (>5 dakika)

Neden: Proxy yavaşsa veya doğrulama karmaşıksa Cloudflare sayfaları gecikebilir. Daha düşük gecikmeli bir proxy'ye geçin, sorgulama zaman aşımınızı 60 denemeye (5 dakika) çıkarın ve sayfanın gerçekten Cloudflare doğrulama akışı kullandığını doğrulayın.

CAPCHA_NOT_READY yanıtı sürüyor

Neden: Çözüm hâlâ işleniyor. Cloudflare doğrulama akışı tipik olarak 20–60 saniye sürer. Her 5 saniyede bir, en fazla 60 deneme boyunca sonucu sorgulayın; 5 dakika sonra hâlâ hazır değilse iptal edip farklı bir proxy ile baştan deneyin.


API gönderim hataları

Bu hatalar isteği gönderdiğiniz anda döner; genellikle eksik parametre veya proxy erişimiyle ilgilidir.

ERROR_BAD_PARAMETERS

Neden: Zorunlu parametrelerden biri eksik. Cloudflare doğrulama akışı şu dördünü zorunlu tutar:

method=cloudflare_challenge
pageurl=https://example.com
proxy=user:pass@host:port
proxytype=HTTP

Turnstile veya reCAPTCHA'dan farklı olarak proxy isteğe bağlı değildir — atlarsanız istek gönderilmeden reddedilir.

ERROR_PROXY_CONNECTION_FAILED

Neden: CaptchaAI, verdiğiniz proxy üzerinden bağlantı kuramıyor. Düzeltmek için:

  • Proxy'yi bağımsız doğrulayın: curl -x http://user:pass@host:port https://httpbin.org/ip
  • Proxy'nin HTTPS trafiğini desteklediğinden emin olun
  • Sağlayıcınızda IP beyaz liste kuralı olup olmadığını kontrol edin
  • Aynı sağlayıcıdan başka bir proxy ile deneyin

ERROR_PROXY_BANNED

Neden: Proxy IP'niz Cloudflare tarafından engellenmiş. Veri merkezi IP'leri yoğun biçimde işaretlenir; temiz, veri merkezi dışı bir çıkış IP'sine geçin. Aynı IP engellenmeye devam ederse proxy havuzunuzu değiştirin.

ERROR_CAPTCHA_UNSOLVABLE

Neden: Yeniden denemelere rağmen doğrulama tamamlanamadı. Sırasıyla deneyin:

  • Site Cloudflare ayarlarını sıkılaştırmış olabilir
  • Farklı bir proxy deneyin — engellenen, proxy IP'nin kendisi olabilir
  • 5 dakika bekleyip tekrar deneyin; Cloudflare yükseltilmiş güvenlik modunda olabilir
  • Sayfanın gerçekten Cloudflare doğrulama akışı gösterdiğini doğrulayın

Çerez ve IP bağlama hataları

En çok zaman kaybettiren grup budur: çözüm başarılı döner ama site sizi hâlâ doğrulamaya sokar — neredeyse her zaman çözüm ile kullanım arasındaki bir uyuşmazlık yüzünden.

Türkiye'deki e-ticaret ve fintech ekiplerinde en sık görülen senaryo: bir staging akışını (staging.example.com/qa-login) test eden QA mühendisi çözümü bir sunucudan yapıp istekleri başka bir çıkıştan gönderir; çerez geçerli görünse bile reddedilir.

Çerez reddedildi — site hâlâ doğrulama gösteriyor

Neden: Çözümün yapıldığı IP ile isteği gönderdiğiniz IP farklı.

Düzeltme: Sonraki tüm istekler için birebir aynı proxy'yi kullanın:

# WRONG — different proxy for solving and requests
solve_proxy = "proxy1.example.com:8080"
request_proxy = "proxy2.example.com:8080"

# CORRECT — same proxy for both
proxy = "user:pass@proxy1.example.com:8080"

# Submit solve with this proxy
response = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY,
    "method": "cloudflare_challenge",
    "pageurl": "https://example.com",
    "proxy": proxy,
    "proxytype": "HTTP",
    "json": 1
})

# Use the SAME proxy for page requests
session = requests.Session()
session.cookies.set("qa_session_cookie", solved_cookie)
session.proxies = {"https": f"http://{proxy}"}

Çerez reddedildi — User-Agent uyuşmazlığı

Neden: Çözüm ile istekler arasında User-Agent farklı.

Düzeltme: İsteklerinizde, çözüm yanıtında dönen User-Agent'ı aynen kullanın:

solution = result["request"]

# Extract and reuse the exact user agent
user_agent = solution.get("user_agent")

session = requests.Session()
session.headers["User-Agent"] = user_agent  # Must match exactly
session.cookies.set("qa_session_cookie", solution["qa_session_cookie"])

Çerezin süresi doldu

Neden: qa_session_cookie sınırlı bir TTL taşır (genellikle 15 dakika – 24 saat).

Düzeltme: Çerezi ne zaman aldığınızı kaydedin, TTL dolmadan yeniden çözün ve doğrulama sayfası yanıtı geldiğinde otomatik yeniden çözümü devreye alın:

def make_request(url, session):
    response = session.get(url)
    if "challenge" in response.text.lower() or response.status_code == 403:
        # Cookie expired — re-solve
        new_cookie = solve_cloudflare_challenge(url, proxy)
        session.cookies.set("qa_session_cookie", new_cookie)
        response = session.get(url)
    return response

Sık sorulan sorular

Cloudflare doğrulama akışı çözümü ne kadar sürer?

Tipik olarak 20–60 saniye — reCAPTCHA veya Turnstile'dan daha uzun. Sorgulama zaman aşımınızı en az 60 deneme (5 dakika) olarak ayarlayın.

CaptchaAI hangi Cloudflare korumalarını çözebiliyor?

Hem Cloudflare doğrulama akışını hem de Cloudflare Turnstile'ı destekler. Farklı bir koruma katmanı gösteren sayfalar bu yöntemlerin kapsamında değildir; önce sayfanın hangi doğrulamayı kullandığını teşhis edin.

Aynı çözümü kaç istekte kullanabilirim?

Çerez TTL'si dolana kadar (genellikle 15 dakika – 24 saat) aynı proxy ve User-Agent ile birden çok istekte kullanabilirsiniz. Çerez engellenirse veya sayfa yeniden doğrulama gösterirse yeniden çözmeniz gerekir.

Fiyatlandırma Cloudflare çözümünü nasıl etkiler?

CaptchaAI thread bazlı faturalandırır: BASIC ($15/ay, 5 thread) küçük iş yükleri için yeterlidir; daha fazla eş zamanlı çözüm için ADVANCE ($90/ay, 50 thread) planına geçersiniz. Fiyatlar USD sabit kaldığından TL dalgalansa bile aylık maliyet öngörülebilir kalır.


İlgili rehberler

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