Khắc Phục Sự Cố

ERROR_WRONG_GOOGLEKEY: Hướng dẫn chẩn đoán và khắc phục hoàn chỉnh

ERROR_WRONG_GOOGLEKEY có nghĩa là tham số googlekey không hợp lệ hoặc không khớp với trang đích. Hướng dẫn này bao gồm mọi nguyên nhân và cách khắc phục.


Nguyên nhân gây ra lỗi này

nguyên nhân Làm thế nào để xác định
Đã trích xuất khóa trang web không chính xác Khóa không khớp với nguồn trang
Mã trang web doanh nghiệp được gửi theo tiêu chuẩn Cần tham số enterprise=1
Khóa reCAPTCHA vô hình không khớp Cần tham số invisible=1
Khóa trang web động đã thay đổi Khóa đã được xoay kể từ khi trích xuất
Sitekey của trang sai Trích xuất từ iframe hoặc tên miền khác
Khóa trang web đã lỗi thời được mã hóa cứng Khóa đã hợp lệ trước đó

Cách tìm khóa trang web chính xác

Phương pháp 1: Tìm kiếm nguồn trang

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

Phương pháp 2: DevTools của trình duyệt

  1. Mở trang đích trong Chrome
  2. Nhấn tab F12Thành phần
  3. Nhấn Ctrl+F và tìm kiếm sitekey
  4. Tìm thuộc tính data-sitekey="..."
  5. Sao chép giá trị (chuỗi chữ và số gồm 40 ký tự)

Cách 3: Tab mạng

  1. Mở tab F12Mạng
  2. Lọc theo recaptcha
  3. Tìm kiếm yêu cầu tới google.com/recaptcha/api2/anchor
  4. Tìm tham số k= trong URL - đó là khóa trang web

Xác thực trước khi gửi

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)

Xử lý reCAPTCHA Enterprise

Khóa trang doanh nghiệp trông giống nhau nhưng yêu cầu tham số 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)

Xử lý reCAPTCHA vô hình

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

Trích xuất khóa trang web động

Một số trang web tải khóa trang web qua JavaScript. Sử dụng trình duyệt để giải nén chúng:

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

Khắc phục sự cố

Vấn đề Nguyên nhân Cách xử lý
Chìa khóa có vẻ đúng nhưng lỗi vẫn tồn tại Khóa trang web doanh nghiệp Thêm enterprise=1
Những thay đổi chính giữa các lần truy cập Khóa trang web động Trích xuất khóa mới mỗi lần
Nhiều khóa trang web trên trang Đã chọn sai Ghép chìa khóa với mẫu đúng
Khóa từ iframe CDN Khóa tên miền sai Trích xuất từ trang chính, không phải iframe
Đã trích xuất khóa trang web trống được hiển thị bằng JavaScript Sử dụng Selenium để giải nén

Câu hỏi thường gặp

Khóa trang web hợp lệ trông như thế nào?

Khóa trang web reCAPTCHA thường có 40 ký tự văn bản chữ và số cộng với dấu gạch ngang. Ví dụ: 6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-.

Cùng một khóa trang web có thể hoạt động cho cả v2 và v3 không?

Số v2 và v3 sử dụng các khóa trang web khác nhau. Kiểm tra nguồn tập lệnh reCAPTCHA để xác định phiên bản.

Tôi có nên lưu trữ khóa trang web không?

Bộ nhớ đệm trong thời gian ngắn (vài phút đến vài giờ). Một số trang web xoay phím. Nếu việc giải quyết bắt đầu không thành công, hãy giải nén lại sitekey.


Hướng dẫn liên quan


Nhận đúng khóa trang web —giải quyết với CaptchaAI.

Os comentários estão desativados para este artigo.