Pemecahan Masalah

ERROR_WRONG_GOOGLEKEY: Panduan Diagnosis dan Perbaikan

ERROR_WRONG_GOOGLEKEY berarti parameter googlekey tidak valid atau tidak sesuai dengan halaman target. Panduan ini mencakup setiap penyebab dan perbaikannya.


Apa Penyebab Error Ini

Penyebab Cara Mengidentifikasi
Sitekey yang diekstraksi salah Key tidak cocok dengan source halaman
Sitekey Enterprise dikirim sebagai standar Perlu parameter enterprise=1
Mismatch invisible reCAPTCHA Perlu parameter invisible=1
Sitekey dinamis berubah Key di-rotate sejak ekstraksi
Sitekey halaman yang salah Diekstraksi dari iframe atau domain lain
Sitekey lama yang di-hardcode Key sebelumnya valid

Cara Menemukan Sitekey yang Benar

Metode 1: Pencarian Source Halaman

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}")

Metode 2: Browser Developer Tools

  1. Buka halaman target di Chrome
  2. Tekan F12 → tab Elements
  3. Tekan Ctrl+F dan cari sitekey
  4. Temukan atribut data-sitekey="..."
  5. Salin nilainya (string alfanumerik 40 karakter)

Metode 3: Tab Network

  1. Buka F12 → tab Network
  2. Filter dengan recaptcha
  3. Cari request ke google.com/recaptcha/api2/anchor
  4. Temukan parameter k= di URL — itulah sitekey-nya

Validasi Sebelum Submit

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)

Menangani reCAPTCHA Enterprise

Sitekey Enterprise terlihat sama tetapi memerlukan parameter enterprise:

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)

Menangani reCAPTCHA Invisible

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,
}

Ekstraksi Sitekey Dinamis

Beberapa situs memuat sitekey melalui JavaScript. Gunakan browser untuk mengekstraknya:

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

Pemecahan Masalah

Masalah Penyebab Perbaikan
Key terlihat benar tapi error tetap terjadi Sitekey Enterprise Tambahkan enterprise=1
Berubah antar kunjungan Sitekey dinamis Ekstrak sitekey baru setiap kali
Beberapa sitekey di halaman Key yang salah dipilih Cocokkan key dengan form yang tepat
Key dari iframe CDN Key domain yang salah Ekstrak dari halaman utama, bukan iframe
Sitekey kosong saat diekstraksi Di-render via JavaScript Gunakan Selenium untuk mengekstrak

Pertanyaan Umum

Seperti apa tampilan sitekey yang valid?

Sitekey reCAPTCHA biasanya terdiri dari 40 karakter alfanumerik ditambah tanda hubung. Contoh: 6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-.

Bisakah sitekey yang sama berfungsi untuk v2 dan v3?

Tidak. v2 dan v3 menggunakan sitekey yang berbeda. Periksa source script reCAPTCHA untuk menentukan versinya.

Haruskah saya menyimpan sitekey dalam cache?

Cache untuk waktu singkat (menit hingga jam). Beberapa situs merotasi key. Jika solve mulai gagal, ekstrak ulang sitekey.


Panduan Terkait


Dapatkan sitekey yang tepat — solve dengan CaptchaAI.

Komentar dinonaktifkan untuk artikel ini.