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.