Comparisons

Token Tabanlı ve Çerez Tabanlı CAPTCHA Çözme Karşılaştırması

CAPTCHA çözümleri iki biçimde gelir: form gönderimlerine eklediğiniz belirteçler ve oturum düzeyinde erişim sağlayan çerezler. Doğru yaklaşımı seçmek, hangi CAPTCHA ile karşılaştığınıza ve hedef sitenin bunu nasıl doğruladığına bağlıdır.


Bir bakışta

Görünüş Jeton tabanlı Çerez tabanlı
Çıkış Bir dize jetonu (500+ karakter) Bir tarayıcı çerezi (qa_session_cookie, vb.)
İçin kullanılır reCAPTCHA v2/v3, hCaptcha, Turnstile Cloudflare doğrulama akışı sayfaları
Nasıl kullanılır? Form alanına veya POST gövdesine enjekte edildi Sonraki HTTP istekleriyle birlikte gönderildi
Ömür boyu 60-120 saniye 30 dakika ila 24 saat
Yeniden kullanılabilir Hayır (tek kullanımlık) Evet (oturum süresi boyunca)
Tarayıcı gerekli Yalnızca ekstraksiyon için Çözmek için (tam tarayıcı gerekli)

Belirteç tabanlı çözüm

Nasıl çalışır?

  1. Site anahtarını sayfadan çıkarın
  2. Site anahtarını + sayfa URL'sini CaptchaAI'ye gönderin
  3. Bir jeton dizesi alın
  4. Belirteci gizli form alanına enjekte edin
  5. Formu gönder

Hangi CAPTCHA'lar jeton kullanıyor

  • reCAPTCHA v2: Jeton g-recaptcha-response metin alanına girer
  • reCAPTCHA v3: Aynı alan, ancak action (ve Enterprise sitekey'leri için enterprise=1) gerekir
  • hCaptcha: Jeton h-captcha-response'ye giriyor
  • Turnstile: Jeton cf-turnstile-response'ye girer

Uygulama

import requests
import time

API_KEY = "YOUR_API_KEY"

# 1. Solve
resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY,
    "method": "userrecaptcha",
    "googlekey": "6Le-wvkSAAAAAPBMR...",
    "pageurl": "https://staging.example.com/qa-login",
    "json": "1",
}).json()
task_id = resp["request"]

# 2. Poll
token = None
for _ in range(24):
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": API_KEY, "action": "get", "id": task_id, "json": "1"
    }).json()
    if result["status"] == 1:
        token = result["request"]
        break

# 3. Submit form with token (no browser needed)
form_response = requests.post("https://staging.example.com/qa-login", data={
    "email": "user@example.com",
    "password": "password",
    "g-recaptcha-response": token,
})

Temel özellikler

  • Gönderim için tarayıcıya gerek yok: Belirteci doğrudan bir HTTP POST isteğine enjekte edebilirsiniz
  • Kısa ömürlü: Jetonların süresi 60-120 saniye içinde dolar; hemen çözün ve kullanın
  • Tek kullanım: Her jeton bir kez çalışır; her form gönderimi için tekrar çöz
  • Sunucu tarafı doğrulama: Hedef site, doğrulama için jetonu Google/Cloudflare/hCaptcha'ye gönderir

Çerez tabanlı çözüm

Nasıl çalışır?

  1. Bir meydan okuma sayfası sunulur (Cloudflare doğrulama akışı, JS Mücadelesi)
  2. Bir tarayıcı bu zorluğu çözer (dahili olarak Turnstileyi içerebilir)
  3. Sunucu bir oturum çerezi ayarlar (qa_session_cookie)
  4. Bu çerezle yapılan sonraki tüm istekler bu sorgulamayı atlar

Hangi CAPTCHA'lar çerezleri kullanır?

  • Cloudflare doğrulama akışı sayfaları: qa_session_cookie çerezi
  • JS Mücadelesi: Yalnızca Cloudflare JavaScript mücadelesi
  • Bazı WAF zorlukları: Çeşitli Web Uygulaması Güvenlik Duvarları

Uygulama

from selenium import webdriver
import requests
import time

# 1. Solve the challenge in a browser
driver = webdriver.Chrome()
driver.get("https://example.com/protected")

# Wait for challenge to complete (manually or with CaptchaAI)
time.sleep(10)  # Or use CaptchaAI token injection

# 2. Extract cookies from browser
cookies = driver.get_cookies()
qa_session_cookie = next(
    (c for c in cookies if c["name"] == "qa_session_cookie"), None
)
user_agent = driver.execute_script("return navigator.userAgent")
driver.quit()

# 3. Use cookies for subsequent requests (no browser needed)
session = requests.Session()
session.headers.update({"User-Agent": user_agent})

for cookie in cookies:
    session.cookies.set(cookie["name"], cookie["value"])

# All requests now pass the challenge
for page in range(1, 50):
    resp = session.get(f"https://example.com/api/data?page={page}")
    print(f"Page {page}: {resp.status_code}")

Temel özellikler

  • Çözüm için tarayıcı gerekli: Bu zorluk için tam bir tarayıcı ortamı gerekiyor
  • Uzun ömürlü: Çerezler 30 dakikadan 24 saate kadar dayanır
  • Yeniden kullanılabilir: Tek çözüm birçok isteğe erişim sağlar
  • IP'ye bağlı: Çerez, sorunu çözen IP'ye bağlıdır
  • UA'ya bağlı: Kullanıcı Aracısı, çözüm sırasında kullanılanla eşleşmelidir

Hangisi ne zaman kullanılmalı

Senaryo Yaklaşım neden
reCAPTCHA ile giriş formu Jeton Form verilerini içeren belirteci gönder
Cloudflare korumalı bir siteyi kazımak Çerez Tek çözüm, birçok sayfa isteği
Turnstile ile form gönderimi Jeton cf-turnstile-response'ye enjekte edin
Cloudflare'in arkasındaki bir API'ye erişme Çerez Çerezleri tüm API çağrıları için yeniden kullan
Birden fazla form gönderme Jeton (her seferinde) Her formun yeni bir jetona ihtiyacı vardır
Aynı alanı toplu olarak kazımak Çerez Bir kez çözün, çerezin süresi dolana kadar kazıyın

Hibrit yaklaşım

Bazı siteler her ikisini de kullanır: reCAPTCHA (belirteç) içeren bir formu koruyan Cloudflare doğrulama akışı sayfası (çerez).

# Step 1: Get past Cloudflare (cookie)
session = get_qa_session_cookie_session("https://example.com")

# Step 2: Load the form (using the cookie session)
html = session.get("https://example.com/submit").text
sitekey = extract_sitekey(html)

# Step 3: Solve reCAPTCHA (token)
token = solve_recaptcha(sitekey, "https://example.com/submit")

# Step 4: Submit form (cookie + token)
resp = session.post("https://example.com/submit", data={
    "data": "value",
    "g-recaptcha-response": token,
})

Karşılaştırma özeti

Özellik Jeton Çerez
Maliyeti çöz Form gönderimi başına Oturum başına (itfa edilmiş)
Zamanı çöz Jeton başına 10-30 saniye 10-30s bir kez
Çözüm başına istekler 1 Birçok (son kullanma tarihine kadar)
IP esnekliği Token herhangi bir IP'den çalışır Çerez IP çözümüne bağlı
Kullanım için tarayıcı Gerekli değil Gerekli değil (sadece çerez)
Vade riski 60-120'ler 30 dk - 24 saat

SSS

Belirteç tabanlı bir CAPTCHA'yı çerez tabanlıya dönüştürebilir miyim?

Hayır. Yaklaşım, sitenin nasıl doğrulandığına bağlıdır. reCAPTCHA her zaman jeton kullanır; Cloudflare doğrulama akışı her zaman çerezleri kullanır.

Yüksek hacimli kazıma için hangisi daha ucuzdur?

Çerez tabanlı, mevcut olduğunda çok daha ucuzdur. Bir çözüm binlerce isteği kapsar. Belirteç tabanlı, form gönderimi başına çözüm gerektirir.

CaptchaAI her ikisini de yönetiyor mu?

Evet. Belirteç tabanlı CAPTCHA'lar bir belirteç dizesi döndürür. Cloudflare doğrulama akışı sayfaları için, mücadeleyi tamamlamak için gereken jetonu almak üzere Turnstile çözücüyü kullanabilir ve ardından ortaya çıkan çerezi çıkarabilirsiniz.


CAPTCHA'ları CaptchaAI ile çözün

API anahtarınızı şu adresten alın:captchaai.com.


İlgili kılavuzlar

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