Sağlayıcı değiştiren ekiplerin çoğu kararı fiyat tablosuna bakarak vermez; karar, üretimdeki bir iş akışı bir sabah Cloudflare doğrulama sayfasında ya da BLS portalında takıldığında verilir. Geçişin üç somut gerekçesi var: API formatı, desteklenen CAPTCHA türlerinin kapsamı ve aylık maliyetin öngörülebilirliği.
1. API formatı: özel JSON'a karşı 2Captcha uyumluluğu
Geçişin kodda ne kadar yer tutacağını belirleyen başlık bu. Anti-Captcha kendi görev tabanlı JSON API'sini kullanır; CaptchaAI ise yaygın olarak benimsenmiş 2Captcha uyumlu formatı konuşur:
# Anti-Captcha — custom JSON format
import requests
resp = requests.post("https://api.anti-captcha.com/createTask", json={
"clientKey": "ANTICAPTCHA_KEY",
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "SITE_KEY",
}
})
task_id = resp.json()["taskId"]
# Poll with different endpoint and format
result = requests.post("https://api.anti-captcha.com/getTaskResult", json={
"clientKey": "ANTICAPTCHA_KEY",
"taskId": task_id,
})
# CaptchaAI — standard 2Captcha-compatible format
import requests
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
task_id = resp.json()["request"]
# Standard polling
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY",
"action": "get",
"id": task_id,
"json": 1,
})
2Captcha formatını yüzlerce araç ve kütüphane zaten destekliyor. Elinizde 2Captcha uyumlu bir wrapper varsa geçiş çoğu zaman anahtar ve temel URL değişikliğinden ibarettir. Anti-Captcha'ya özel kodda ise istek ve yanıt katmanı yeniden yazılır.
2. BLS CAPTCHA: Anti-Captcha'da karşılığı yok
Türkiye'deki geliştiriciler için en somut kapsam farkı bu. Vize başvuru ve devlet portallarının form akışları BLS CAPTCHA doğrulaması içerir; Anti-Captcha'da bu tür için yöntem yok. CaptchaAI'de method=bls doğrudan çalışır:
# CaptchaAI — BLS with a high success rate
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "bls",
"pageurl": "https://bls-portal.example.com",
"sitekey": "BLS_SITE_KEY",
"json": 1,
})
Kapsamı net tutalım: çözülen şey formdaki CAPTCHA doğrulamasıdır — randevu takibi değil. Bu portallardan topladığınız kişisel veriler KVKK kapsamına girer; yalnızca yetkili olduğunuz iş akışlarında kullanın.
3. Cloudflare kapsamı: widget tek başına yetmiyor
Anti-Captcha Turnstile token'ı üretebiliyor, ancak tam sayfa doğrulama akışı ve JS doğrulama sayfaları kapsam dışında kalıyor:
| Cloudflare türü | Anti-Captcha | CaptchaAI |
|---|---|---|
| Turnstile (yönetilen) | ✅ | ✅ |
| Turnstile (görünmez) | Kısmi | ✅ |
| Cloudflare doğrulama akışı | ❌ | ✅ |
| JS doğrulama sayfası | ❌ | ✅ |
Hedef sitelerin önemli bir kısmı artık widget yerine tam sayfa akışı kullanıyor; ikisini aynı sanan entegrasyonlar tam burada kırılıyor.
4. reCAPTCHA v3 puanı ve GeeTest kapsamı
Aşağıdaki Anti-Captcha değerleri kullanıcı raporlarına dayanır.
| Sağlayıcı | Ortalama v3 puanı | Puan kontrolü |
|---|---|---|
| Anti-Captcha | 0,3–0,5 | Sınırlı |
Düşük bir v3 puanı, token geçerli olsa bile hedef sitede ek doğrulama tetikler. İnsan destekli model değişken puan üretir; CaptchaAI'nin otomatik motoru bu değişkenliği daraltır.
| GeeTest sürümü | Anti-Captcha | CaptchaAI |
|---|---|---|
| GeeTest v3 | %85–90 | ✅ Yüksek başarı oranı |
| GeeTest v4 | %80–85 | Çok yakında |
CaptchaAI GeeTest v4'ü henüz desteklemiyor; yol haritasında "çok yakında" aşamasında.
Özellik karşılaştırması
| Özellik | Anti-Captcha | CaptchaAI |
|---|---|---|
| reCAPTCHA v2 | ✅ | ✅ |
| reCAPTCHA v3 | ✅ (düşük puanlar) | ✅ Puan kontrolü |
| reCAPTCHA Enterprise | ✅ | ✅ |
| Turnstile | ✅ | ✅ |
| Cloudflare doğrulama akışı | ❌ | ✅ |
| GeeTest v3 | ✅ | ✅ |
| GeeTest v4 | Var | ❌ henüz desteklenmiyor |
| hCaptcha | Var | ❌ henüz desteklenmiyor |
| BLS | ❌ | ✅ |
| Görüntü/OCR | ✅ | ✅ 27.500+ görsel türü |
| API biçimi | Özel JSON | 2Captcha uyumlu |
| Proxy ve callback | ✅ | ✅ |
CaptchaFox, Friendly Captcha ve Lemin beta aşamasındadır.
Çözüm süreleri
Aşağıdaki değerler gözlemlenen verilere dayanır; sonuçlar ortama ve hacme göre değişebilir. CaptchaAI sütunu ortalama değil, yayımlanan üst sınırdır.
| CAPTCHA türü | Anti-Captcha | CaptchaAI |
|---|---|---|
| reCAPTCHA v2 | 15–45 sn | <60 sn |
| reCAPTCHA v3 | 10–30 sn | <4 sn |
| Görüntü CAPTCHA'sı | 5–15 sn | <0,5 sn |
| Turnstile | 10–30 sn | <10 sn |
| GeeTest v3 | 15–40 sn | <12 sn |
Maliyet neden öngörülebilir?
TL kurundaki oynaklık nedeniyle aylık maliyetin sabit kalması, birim fiyattan daha belirleyici. CaptchaAI çözüm başına değil, eşzamanlı thread başına ücretlendirir; her planda thread başına sınırsız çözüm vardır. BASIC ($15/ay, 5 thread) ile başlar, yük arttıkça STANDARD ($30/ay, 15 thread) veya ADVANCE ($90/ay, 50 thread) planına çıkarsınız. Kampanya haftasında hacminiz üçe katlandığında fatura değişmez.
Geçiş yolu
İki sağlayıcıyı aynı anda destekleyen bir wrapper, trafiği kademeli taşımanın en pratik yolu:
import requests
import time
class CaptchaSolver:
"""Unified solver — supports Anti-Captcha and CaptchaAI."""
def __init__(self, provider="captchaai", api_key="YOUR_API_KEY"):
self.provider = provider
self.api_key = api_key
def solve_recaptcha_v2(self, sitekey, pageurl):
if self.provider == "captchaai":
return self._solve_captchaai("userrecaptcha", sitekey, pageurl)
else:
return self._solve_anticaptcha(sitekey, pageurl)
def _solve_captchaai(self, method, sitekey, pageurl):
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": self.api_key,
"method": method,
"googlekey": sitekey,
"pageurl": pageurl,
"json": 1,
})
task_id = resp.json()["request"]
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": self.api_key, "action": "get",
"id": task_id, "json": 1,
})
data = result.json()
if data["request"] != "CAPCHA_NOT_READY":
return data["request"]
raise TimeoutError("Solve timeout")
def _solve_anticaptcha(self, sitekey, pageurl):
resp = requests.post("https://api.anti-captcha.com/createTask", json={
"clientKey": self.api_key,
"task": {
"type": "RecaptchaV2TaskProxyless",
"websiteURL": pageurl,
"websiteKey": sitekey,
},
})
task_id = resp.json()["taskId"]
for _ in range(60):
time.sleep(5)
result = requests.post(
"https://api.anti-captcha.com/getTaskResult",
json={"clientKey": self.api_key, "taskId": task_id},
)
data = result.json()
if data["status"] == "ready":
return data["solution"]["gRecaptchaResponse"]
raise TimeoutError("Solve timeout")
Yeni projelerde provider="captchaai" kullanın; mevcut projeleri yapıcı parametresini değiştirerek taşıyın. Önce trafiğin küçük bir yüzdesini yönlendirin.
Sorun giderme
| Sorun | Sebep | Çözüm |
|---|---|---|
| İstek formatı reddediliyor | Anti-Captcha JSON görev nesnesi bekler | İsteği in.php form verisine çevirin |
method alanı eksik |
Anti-Captcha görevde type kullanır |
CaptchaAI için method=userrecaptcha gönderin |
| Sorgulama yanıtı boş | Sonuç uç noktası farklı | action=get ile res.php'ye GET isteği atın |
Sık sorulan sorular
CaptchaAI hCaptcha'yı destekliyor mu?
Hayır. hCaptcha ve FunCaptcha (Arkose Labs) desteklenmiyor; iş akışınız bunlara bağlıysa geçiş öncesi netleştirin.
Mevcut 2Captcha kütüphanelerimi kullanabilir miyim?
Evet, CaptchaAI 2Captcha uyumlu istemcilerle çalışır. Anti-Captcha'ya özel wrapper'lar ise doğrudan çalışmaz.
Faturalandırma çözüm başına mı hesaplanıyor?
Hayır. Ücret eşzamanlı thread sayısına göre belirlenir; aylık hacminiz değil, aynı anda kaç çözüm çalıştırdığınız önemlidir.
Vize portallarında kullanmak KVKK açısından sorun olur mu?
Portaldan topladığınız kişisel veriler KVKK kapsamına girebilir; yetkili olduğunuz hesaplarla sınırlı kalın.
İlgili rehberler
Kapsamı kendi hedeflerinizde ölçün — CaptchaAI'yi deneyin ve Cloudflare ile BLS akışlarınızı ilk gün test edin.