Sorun Giderme

ERROR_WRONG_GOOGLEKEY: Tam Teşhis ve Düzeltme Kılavuzu

ERROR_WRONG_GOOGLEKEY, googlekey parametresinin geçersiz olduğu veya hedef sayfayla eşleşmediği anlamına gelir. Bu kılavuz her türlü nedeni ve çözümü kapsar.


Bu Hataya Ne Sebep Olur?

Sebep Nasıl Tanımlanır?
Yanlış site anahtarı çıkarıldı Anahtar sayfa kaynağıyla eşleşmiyor
Kurumsal site anahtarı standart olarak gönderilir enterprise=1 parametresine ihtiyacınız var
Görünmez reCAPTCHA anahtar uyuşmazlığı invisible=1 parametresine ihtiyacınız var
Dinamik site anahtarı değişti Anahtar çıkarıldıktan sonra döndürüldü
Yanlış sayfanın site anahtarı iframe'den veya farklı bir alan adından alıntı
Sabit kodlanmış güncel olmayan site anahtarı Anahtar daha önce geçerliydi

Doğru Site Anahtarı Nasıl Bulunur?

Yöntem 1: Sayfa Kaynağı Arama

import re
import requests


def extract_sitekey(page_url):
    """Extract reCAPTCHA sitekey from page source."""
    resp = requests.get(page_url, timeout=15)
    html = resp.text

    # Pattern 1: data-sitekey attribute
    match = re.search(r'data-sitekey="([^"]+)"', html)
    if match:
        return match.group(1)

    # Pattern 2: grecaptcha.render call
    match = re.search(r"grecaptcha\.render\([^,]+,\s*\{[^}]*sitekey['\"]?\s*:\s*['\"]([^'\"]+)", html)
    if match:
        return match.group(1)

    # Pattern 3: grecaptcha.execute call
    match = re.search(r"grecaptcha\.execute\(['\"]([^'\"]+)", html)
    if match:
        return match.group(1)

    # Pattern 4: reCAPTCHA script src
    match = re.search(r"recaptcha/api\.js\?render=([^&\"]+)", html)
    if match:
        return match.group(1)

    return None


sitekey = extract_sitekey("https://staging.example.com/qa-login")
print(f"Sitekey: {sitekey}")

Yöntem 2: Tarayıcı Geliştirme Araçları

  1. Hedef sayfayı Chrome'da aç
  2. F12Elements sekmesine basın
  3. Ctrl+F tuşlarına basın ve sitekey'yi arayın
  4. data-sitekey="..." özelliğini bulun
  5. Değeri kopyalayın (40 karakterlik alfasayısal dize)

Yöntem 3: Ağ Sekmesi

  1. F12 sekmesini açın
  2. recaptcha'ye göre filtrele
  3. google.com/recaptcha/api2/anchor'ye yapılan istekleri arayın
  4. URL'de k= parametresini bulun; bu site anahtarıdır

Göndermeden Önce Doğrulama

import re


def validate_sitekey(sitekey):
    """Validate sitekey format before API call."""
    if not sitekey:
        raise ValueError("Sitekey is empty")

    # Standard format: 40 alphanumeric + hyphens/underscores
    if not re.match(r'^[a-zA-Z0-9_-]{20,60}$', sitekey):
        raise ValueError(f"Invalid sitekey format: {sitekey}")

    return True


# Use before solving
sitekey = extract_sitekey("https://staging.example.com/qa-login")
validate_sitekey(sitekey)

reCAPTCHA Enterprise'ı yönetme

Kurumsal site anahtarları aynı görünür ancak enterprise parametresini gerektirir:

import requests

# Standard reCAPTCHA — loads via recaptcha/api.js
# Enterprise reCAPTCHA — loads via recaptcha/enterprise.js

def detect_enterprise(page_url):
    """Detect if page uses reCAPTCHA Enterprise."""
    resp = requests.get(page_url, timeout=15)
    return "recaptcha/enterprise.js" in resp.text


# Submit with enterprise flag
is_enterprise = detect_enterprise("https://example.com")

data = {
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": sitekey,
    "pageurl": "https://example.com",
    "json": 1,
}

if is_enterprise:
    data["enterprise"] = 1

resp = requests.post("https://ocr.captchaai.com/in.php", data=data)

Görünmez reCAPTCHA'yı Kullanma

def detect_invisible(html):
    """Detect invisible reCAPTCHA."""
    indicators = [
        'data-size="invisible"',
        "grecaptcha.execute(",
        "recaptcha/api.js?render=",
    ]
    return any(i in html for i in indicators)


# Submit with invisible flag
data = {
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": sitekey,
    "pageurl": "https://example.com",
    "invisible": 1,
    "json": 1,
}

Dinamik Site Anahtarı Çıkarma

Bazı siteler site anahtarlarını JavaScript aracılığıyla yükler. Bunları çıkarmak için bir tarayıcı kullanın:

from selenium import webdriver
from selenium.webdriver.common.by import By


def extract_dynamic_sitekey(url):
    """Extract sitekey from JavaScript-rendered page."""
    driver = webdriver.Chrome()
    driver.get(url)

    # Wait for reCAPTCHA to load
    import time
    time.sleep(3)

    # Try data-sitekey attribute
    elements = driver.find_elements(By.CSS_SELECTOR, "[data-sitekey]")
    if elements:
        sitekey = elements[0].get_attribute("data-sitekey")
        driver.quit()
        return sitekey

    # Try iframe src parameter
    iframes = driver.find_elements(By.CSS_SELECTOR, "iframe[src*='recaptcha']")
    for iframe in iframes:
        src = iframe.get_attribute("src")
        import re
        match = re.search(r'[?&]k=([^&]+)', src)
        if match:
            driver.quit()
            return match.group(1)

    driver.quit()
    return None

Sorun giderme

Sorun Sebep Düzeltme
Anahtar doğru görünüyor ancak hata devam ediyor Kurumsal site anahtarı enterprise=1'yi ekleyin
Ziyaretler arasındaki önemli değişiklikler Dinamik site anahtarı Her seferinde yeni anahtarı çıkarın
Sayfada birden fazla site anahtarı Yanlış olan seçildi Anahtarı doğru formla eşleştirin
CDN iframe'den anahtar Yanlış alan adının anahtarı iframe'den değil, ana sayfadan çıkar
Boş site anahtarı çıkarıldı JavaScript ile oluşturulmuş Çıkarmak için Selenyum kullanın

SSS

Geçerli bir site anahtarı neye benzer?

Bir reCAPTCHA site anahtarı genellikle 40 karakterlik alfasayısal metin artı kısa çizgilerden oluşur. Örnek: 6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-.

Aynı site anahtarı hem v2 hem de v3 için çalışabilir mi?

No. v2 ve v3 farklı site anahtarları kullanır. Sürümü belirlemek için reCAPTCHA komut dosyası kaynağını kontrol edin.

Site anahtarını önbelleğe almalı mıyım?

Kısa süreler için önbelleğe alın (dakikalardan saatlere kadar). Bazı siteler anahtarları döndürür. Çözüm başarısız olmaya başlarsa site anahtarını yeniden çıkarın.


İlgili Kılavuzlar


Doğru site anahtarını alın —CaptchaAI ile çöz.

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