Aynı web sitesi bir ziyaretçiye İngilizce olarak, diğerine Japonca olarak bir reCAPTCHA mücadelesi gösteriyor. Bir Cloudflare Turnstile widget'ı yükleme metnini tarayıcının dilinde işler. Bazı siteler ziyaretçinin tespit ettiği bölgeye göre tamamen farklı CAPTCHA türleri sunmaktadır. Yerelleştirmenin CAPTCHA'ları nasıl etkilediğini anlamak, bunları otomasyonda doğru şekilde yönetmenize yardımcı olur.
Yerel Ayarla Neler Değişir?
| CAPTCHA sağlayıcısı | Ne yerelleştirir? | Ne aynı kalıyor |
|---|---|---|
| reCAPTCHA | Kullanıcı arayüzü metni, resim etiketleri, ses dili | Site anahtarı, doğrulama akışı, belirteç biçimi |
| Turnstile | Widget metni ve hata mesajları | Site anahtarı, belirteç formatı, çözüm mekanizması |
| hCaptcha | Mücadele talimatları, kategori etiketleri | Site anahtarı, belirteç biçimi |
| Resim/OCR | Karakter seti, metnin dili | Resim formatı, gönder/poll akışı |
Dil Nasıl Algılanır?
CAPTCHA sağlayıcıları dili çeşitli sinyaller aracılığıyla belirler:
1. Kabul-Dil Başlığı
Accept-Language: ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7
Bu, sunucuya şunu söyler: Japoncayı (Japonya), ardından İngilizceyi (ABD), ardından genel İngilizceyi tercih edin. reCAPTCHA ve Turnstile, kullanıcı arayüzü dilini seçmek için bunu kullanır.
2. HTML hl Parametresi
reCAPTCHA yüklendiğinde açık bir dil parametresini kabul eder:
<!-- Force English reCAPTCHA -->
<script src="https://www.google.com/recaptcha/api.js?hl=en"></script>
<!-- Force Japanese -->
<script src="https://www.google.com/recaptcha/api.js?hl=ja"></script>
hl parametresi Accept-Language başlığını geçersiz kılar. Çözerken bunu eşleştirmenize gerek yoktur; CaptchaAI, kullanıcı arayüzü dilinden bağımsız olarak bir belirteç döndürür.
3. Geo-IP Konumu
Bazı CAPTCHA yapılandırmaları bölgeye göre değişiklik gösterir:
| Sinyal | Etki |
|---|---|
| Çin'den IP | reCAPTCHA yerine GeeTest alabilir (reCAPTCHA Çin'de engellenmiştir) |
| AB'den IP | CAPTCHA'dan önce GDPR onayı görülebilir |
| Kısıtlı bölgeden IP | Daha katı zorluklarla karşılaşılabilir |
4. Tarayıcı navigator.language
JavaScript tabanlı CAPTCHA'lar tarayıcının dilini okur:
navigator.language // "en-US"
navigator.languages // ["en-US", "en", "ja"]
Headless tarayıcılarda bunlar varsayılan olarak sistem yerel ayarına ayarlanır. Bunları açıkça hedefinize uyacak şekilde ayarlayın:
// Playwright
const context = await browser.newContext({
locale: 'ja-JP',
});
// Puppeteer
const page = await browser.newPage();
await page.setExtraHTTPHeaders({
'Accept-Language': 'ja-JP,ja;q=0.9',
});
Çözmeye Etkisi
Token Tabanlı CAPTCHA'lar (reCAPTCHA, Turnstile, hCaptcha)
Dil ayarları Kullanıcı Arayüzünü etkiler ancak belirteci etkilemez. CaptchaAI'nin çözüm süreci dilden bağımsızdır:
- Site anahtarını ve sayfa URL'sini gönderin
- CaptchaAI geçerli bir jeton döndürür
- Belirteç, CAPTCHA widget'ının hangi dili görüntülediğine bakılmaksızın çalışır
Belirteç tabanlı CAPTCHA'lar için CaptchaAI çağrılırken dil parametresine gerek yoktur.
Resim CAPTCHA'ları
Dil, görüntüdeki karakterleri doğrudan etkiler:
| Site dili | CAPTCHA içeriği | CaptchaAI dil parametresi |
|---|---|---|
| İngilizce | "Metni girin: XKCD42" | 0 (varsayılan/Latin) |
| Rusça | "Metin metni: ШКАФ" | 1 (Kiril) veya 2 |
| Çince | "请输入验证码: 汉字" | 2 (Latince değil) |
| Arapça | "أدخل النص: عربي" | 2 (Latince değil) |
| Japonca | "文字を入力: ひらがな" | 2 (Latince değil) |
Ses CAPTCHA'ları
reCAPTCHA ses sorgulamaları, hl parametresi veya Accept-Language başlığıyla eşleşen dilde konuşulur. CaptchaAI bunları standart reCAPTCHA çözümleme akışı aracılığıyla ele alır; çözümleme yöntemi ses diline bağlı değildir.
Yaygın Yerelleştirme Sorunları
Kazıyıcı ve Hedef Arasındaki Uyumsuz Dil
Kazıyıcınız Accept-Language: en-US'yi Japonca bir siteye gönderirse CAPTCHA İngilizce olarak görüntülenebilir; bu, belirteç tabanlı CAPTCHA'lar için iyidir ancak site dil tutarlılığını doğrularsa sorunlara neden olabilir.
Bölgesel CAPTCHA Sağlayıcı Farklılıkları
Bazı ülkeler farklı CAPTCHA sağlayıcıları kullanır:
| Bölge | Tipik sağlayıcılar |
|---|---|
| Batı pazarları | reCAPTCHA, Turnstile, hCaptcha |
| Çin | GeeTest, Tencent CAPTCHA, özel resim |
| Rusya/CIS | Özel resim CAPTCHA'ları, reCAPTCHA |
| Güney Kore | Özel kaydırıcılar, resim CAPTCHA'ları |
Sorun giderme
| Sorun | Sebep | Düzeltme |
|---|---|---|
| reCAPTCHA beklenenden farklı bir dil gösteriyor | Betik etiketindeki hl parametresi ile Kabul-Dil uyuşmazlığı karşılaştırması |
Token dilden bağımsızdır — çözümü etkilemez |
| Resim CAPTCHA'sında yanlış karakterler tanındı | Dil parametresi CAPTCHA betiğiyle eşleşmiyor | Latin olmayan CAPTCHA'lar için language=2'yi ayarlayın |
| Site bölgeye göre farklı CAPTCHA türleri sunmaktadır | Geo-IP tabanlı sağlayıcı seçimi | Hedef bölgeyle eşleşen proxy'yi kullan |
| Headless tarayıcı yanlış yerel ayarı gösteriyor | Kullanılan varsayılan sistem yerel ayarı | Yerel ayarı tarayıcı bağlamında açıkça ayarlayın |
| Beklenmedik dilde Ses CAPTCHA'sı | hl parametresi başlığı geçersiz kılar |
CaptchaAI jeton tabanlı çözümü etkilemez |
SSS
CaptchaAI'nin CAPTCHA'nın görüntüleme dilini bilmesi gerekiyor mu?
Token tabanlı CAPTCHA'lar için (reCAPTCHA, Turnstile, hCaptcha), no. Çözüm süreci dilden bağımsızdır. Image/OCR CAPTCHA'lar için, evet — language parametresini resimde görüntülenen karakter setiyle eşleşecek şekilde ayarlayın.
Accept-Language başlığımı hedef siteyle eşleştirmeli miyim?
Tutarlılık açısından iyi bir uygulamadır. Bazı siteler başlıklar ve diğer sinyaller arasındaki dil uyumsuzluklarını kontrol eder. Algılama riskini en aza indirmek için Accept-Language başlığınızı sitenin birincil diliyle eşleşecek şekilde ayarlayın.
Aynı site anahtarı, yerel ayarlara göre farklı CAPTCHA zorluklarını gösterebilir mi?
Evet. CAPTCHA sağlayıcıları bölgesel risk puanlarına göre zorluğu ayarlayabilir. Belirli bölgelerden gelen trafik daha zorlu zorluklarla karşılaşabilir. Bu, CaptchaAI'nin çözümünü etkilemez; API, her türlü zorluğun üstesinden gelir.
Sonraki Adımlar
CAPTCHA'ları herhangi bir yerel ayarda yönetin —CaptchaAI API anahtarınızı alınve dil ayarlarını doğru şekilde yapılandırın.
İlgili kılavuzlar: