Sorun Giderme

ERROR_PAGEURL: URL Uyuşmazlığı Sorun Giderme Kılavuzu

ERROR_PAGEURL, pageurl parametresinin CAPTCHA'nın yüklendiği yerle eşleşmediği anlamına gelir. Çözücüler belirteçleri kaynak etki alanına göre doğrular, bu nedenle URL'nin doğru olması gerekir.


Yaygın Nedenler

Sebep Örnek
Eksik protokol https://example.com yerine example.com
Yanlış alan adı www.example.com ve example.com
Değiştirilen URL'yi yönlendir /login'deki form /auth/login'ye yönlendirildi
SPA rota uyuşmazlığı JS rotası /app/login, sunucu URL'siyle eşleşmiyor
URL kodlama sorunları Kodlanmamış boşluklar veya özel karakterler
Farklı etki alanından Iframe CAPTCHA alt alan adından yüklendi

Doğru URL Nasıl Gidilir?

Kural: CAPTCHA'nın göründüğü tarayıcı adres çubuğundaki URL'yi kullanın.

# WRONG — incomplete URL
pageurl = "staging.example.com/qa-login"

# WRONG — wrong protocol
pageurl = "http://staging.example.com/qa-login"

# CORRECT — full URL with protocol
pageurl = "https://staging.example.com/qa-login"

# CORRECT — with www if that's what the page uses
pageurl = "https://www.staging.example.com/qa-login"

URL Doğrulama Yardımcısı

from urllib.parse import urlparse


def validate_pageurl(url):
    """Validate pageurl before API submission."""
    parsed = urlparse(url)

    if not parsed.scheme:
        raise ValueError(f"Missing protocol: {url}. Use https://")

    if parsed.scheme not in ("http", "https"):
        raise ValueError(f"Invalid protocol: {parsed.scheme}")

    if not parsed.netloc:
        raise ValueError(f"Missing domain: {url}")

    # Remove fragment (hash) — not sent to server
    clean = f"{parsed.scheme}://{parsed.netloc}{parsed.path}"
    if parsed.query:
        clean += f"?{parsed.query}"

    return clean


# Usage
url = validate_pageurl("https://staging.example.com/qa-login#section")
# Returns: "https://staging.example.com/qa-login"

Yönlendirmeleri İşleme

import requests


def get_final_url(url):
    """Follow redirects to get the actual page URL."""
    resp = requests.get(url, allow_redirects=True, timeout=15)
    return resp.url


# If the login page redirects
original = "https://staging.example.com/qa-login"
final = get_final_url(original)
print(f"Final URL: {final}")
# Use final URL as pageurl

SPA'ları Yönetme (Tek Sayfa Uygulamaları)

SPA'lar, tam sayfa yüklenmeden URL'yi JavaScript aracılığıyla değiştirir. Önemli olan CAPTCHA'nın alanıdır:

# For SPAs, use the domain root + the route shown in the address bar
# NOT the API endpoint that the form submits to

# WRONG — API endpoint
pageurl = "https://api.example.com/v1/auth/login"

# CORRECT — the page URL shown in browser
pageurl = "https://staging.example.com/qa-login"

Iframe Yüklü CAPTCHA'lar

CAPTCHA farklı bir alandan bir iframe içine yüklendiğinde:

# If the CAPTCHA is on the MAIN page
pageurl = "https://example.com/register"  # Main page URL

# If the CAPTCHA is in an IFRAME with a different domain
# Still use the main page URL, not the iframe src
pageurl = "https://example.com/register"
# NOT: "https://captcha-frame.example.com/challenge"

Doğru Gönderim

import requests

# Validate URL first
pageurl = validate_pageurl("https://staging.example.com/qa-login")

resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": "SITE_KEY",
    "pageurl": pageurl,
    "json": 1,
})
result = resp.json()

if result.get("status") == 1:
    print(f"Task ID: {result['request']}")
else:
    print(f"Error: {result.get('request')}")

Sorun giderme

Sorun Sebep Düzeltme
Doğru görünen URL'ye rağmen hata oluştu www ve www olmayan uyumsuzluğu Adres çubuğunu tam olarak kontrol edin
URL bazen çalışıyor, diğerlerinde başarısız oluyor Sayfada A/B test URL'leri var Çözüm zamanında URL'yi yakala
Jeton çözüldü ancak site tarafından reddedildi pageurl alan adı uyuşmazlığı Jeton alanı site alanıyla eşleşmelidir
Tarayıcıda çalışıyor ancak kodda başarısız oluyor Yönlendirme takip edilmedi get_final_url()'yi kullanın
URL'de sorgu parametreleri var Parametreler gerekli olabilir Gerekli sorgu parametrelerini ekleyin

SSS

URL yolu önemli mi yoksa yalnızca alan adı mı?

Etki alanı, belirteç doğrulamanın kritik kısmıdır. Ancak bazı siteler tam URL'yi doğruladığından, en iyi sonuçları elde etmek için tam yolu sağlayın.

Sorgu parametrelerini eklemeli miyim?

Görünür URL'nin parçasıysa bunları ekleyin. Sayfa içeriğini etkilemeyen utm_source gibi izleme parametrelerini kaldırın.

Oturum başına değişen URL'leri nasıl yönetirim?

URL'yi otomasyon komut dosyanızda dinamik olarak çıkarın. Oturum kimliklerini veya belirteçleri içeren URL'leri sabit kodlamayın.


İlgili Kılavuzlar


URL'yi doğru alın —CaptchaAI ile çöz.

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