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ı
- Hedef sayfayı Chrome'da aç
- F12 → Elements sekmesine basın
- Ctrl+F tuşlarına basın ve
sitekey'yi arayın data-sitekey="..."özelliğini bulun- Değeri kopyalayın (40 karakterlik alfasayısal dize)
Yöntem 3: Ağ Sekmesi
- F12 → Ağ sekmesini açın
recaptcha'ye göre filtrelegoogle.com/recaptcha/api2/anchor'ye yapılan istekleri arayın- 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.