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:
- ✅ Sayfa gerçekten Cloudflare doğrulama akışının arkasında mı? (Turnstile veya reCAPTCHA değil)
- ✅ Zorunlu dört parametre de gönderiliyor mu? (method, pageurl, proxy, proxytype)
- ✅ Proxy çalışıyor mu?
curlile test edin - ✅ Proxy'niz veri merkezi IP'si mi kullanıyor? (veri merkezi IP'leri sık engellenir)
- ✅ Çözüm ve isteklerde aynı proxy'yi mi kullanıyorsunuz?
- ✅ İsteklerde çözümden dönen User-Agent'ı mı kullanıyorsunuz?
- ✅ Çerez doğru alan adına mı ayarlanıyor?
- ✅ Ç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.