Troubleshooting

ERROR_PROXY_NOT_AUTHORIZED: Proxy Kimlik Doğrulaması Düzeltmeleri

ERROR_PROXY_NOT_AUTHORIZED gördüğünüzde kök neden neredeyse her zaman üç yerden birindedir: proxy dizesinin biçimi, kimlik doğrulama yöntemi ya da sağlayıcının IP beyaz listesi kuralı. CaptchaAI hedef sayfayı sizin proxy'niz üzerinden yükleyemediği için görev çözülmeden bu hatayı döndürür. Aşağıda bu üç kategoriyi sırayla eleyerek sorunu birkaç dakikada kapatacaksınız — önce en ucuz kontrolden başlayarak.


Hata tam olarak neyi anlatıyor?

CaptchaAI'ye bir proxy verdiğinizde, çözücü hedef sayfayı doğrudan kendi sunucusundan değil sizin proxy'niz aracılığıyla açar. Böylece üretilen token, tarama bağlamınızla aynı IP'den gelmiş gibi görünür. Bu el sıkışma başarısız olursa çözüm hiç başlamaz ve ERROR_PROXY_NOT_AUTHORIZED dönersiniz.

Bu hatayı, geçersiz sitekey veya eksik parametrelerden kaynaklanan hatalarla karıştırmayın: burada sorun CAPTCHA'nın kendisinde değil, CaptchaAI ile proxy'niz arasındaki bağlantıdadır. Yani düzeltme her zaman proxy tarafında yapılır.

En sık karşılaşılan nedenler

Sebep Nasıl kontrol edilir
Yanlış proxy biçimi type:host:port:user:pass sırasını doğrulayın
Proxy, IP beyaz listesi istiyor Sağlayıcının yalnızca beyaz listeli IP'lere izin verip vermediğine bakın
Kimlik bilgilerinin süresi dolmuş Proxy bağlantısını doğrudan test edin
Yanlış protokol belirtilmiş HTTP, SOCKS4 ve SOCKS5 arasında hangisinin çalıştığını doğrulayın
Proxy sunucusu kapalı Uç noktaya erişilebildiğini test edin
Şifrede özel karakterler Şifreyi URL olarak kodlayın

Listeyi yukarıdan aşağıya izleyin: ilk iki satır bildirilen hataların büyük çoğunluğunu açıklar ve tek satırlık düzeltmelerle kapanır.


Önce doğru biçimi doğrulayın

CaptchaAI proxy'nin şu biçimde olmasını bekler:

proxytype: HTTP | HTTPS | SOCKS4 | SOCKS5
proxy: host:port:username:password

Alanların sırası kritiktir. host ile port'u yer değiştirmek ya da kullanıcı adıyla şifreyi tersten yazmak, kimlik bilgileri doğru olsa bile bu hataya yol açar. Aşağıdaki istek, bir reCAPTCHA görevini geçerli bir HTTP proxy'siyle gönderen minimum örnektir:

import requests

# Correct format
data = {
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": "SITE_KEY",
    "pageurl": "https://example.com",
    "proxytype": "HTTP",
    "proxy": "192.168.1.1:8080:myuser:mypass",
    "json": 1,
}

resp = requests.post("https://ocr.captchaai.com/in.php", data=data)

Kimlik doğrulamalı ve doğrulamasız varyasyonlar

Proxy'niz kullanıcı adı/şifre istiyorsa dört alanı da verin; istemiyorsa yalnızca host:port yeterlidir. Pratikte CAPTCHA çözümünde kullanılan proxy'lerin neredeyse tamamı kimlik doğrulaması ister, bu yüzden kimlik bilgilerini atladığınızda hatayı sık görürsünüz.

# With authentication
proxy = "192.168.1.1:8080:username:password"

# Without authentication (rare — most captcha proxies need auth)
proxy = "192.168.1.1:8080"

# SOCKS5
proxytype = "SOCKS5"
proxy = "192.168.1.1:1080:user:pass"

Göndermeden önce proxy'yi yerelde test edin

CaptchaAI'ye göndermeden önce proxy'nin gerçekten çalıştığını kendi tarafınızda doğrulamak, en hızlı teşhis yöntemidir. Aşağıdaki yardımcı önce biçimi kontrol eder, sonra proxy üzerinden bir istek atarak canlı bağlantıyı sınar:

import re
import requests


def validate_proxy(proxy_str, proxy_type="HTTP"):
    """Validate proxy format and connectivity."""
    # Check format
    parts = proxy_str.split(":")
    if len(parts) < 2:
        raise ValueError(f"Invalid proxy format: {proxy_str}")

    host = parts[0]
    port = parts[1]

    if not port.isdigit():
        raise ValueError(f"Invalid port: {port}")

    # Check proxy type
    valid_types = {"HTTP", "HTTPS", "SOCKS4", "SOCKS5"}
    if proxy_type not in valid_types:
        raise ValueError(f"Invalid proxy type: {proxy_type}")

    return True


def test_proxy(proxy_str, proxy_type="HTTP"):
    """Test if proxy is working."""
    parts = proxy_str.split(":")
    host = parts[0]
    port = parts[1]

    if len(parts) == 4:
        user, password = parts[2], parts[3]
        proxy_url = f"{proxy_type.lower()}://{user}:{password}@{host}:{port}"
    else:
        proxy_url = f"{proxy_type.lower()}://{host}:{port}"

    proxies = {"http": proxy_url, "https": proxy_url}

    try:
        resp = requests.get(
            "https://httpbin.org/ip",
            proxies=proxies,
            timeout=10,
        )
        print(f"Proxy working. IP: {resp.json()['origin']}")
        return True
    except Exception as e:
        print(f"Proxy failed: {e}")
        return False


# Test before using with CaptchaAI
proxy = "192.168.1.1:8080:user:pass"
if test_proxy(proxy, "HTTP"):
    print("Proxy is ready to use")

test_proxy yerelde başarılı olup CaptchaAI üzerinden hâlâ başarısızsa, sorun büyük olasılıkla biçimde değil beyaz listededir — bunu birazdan ele alıyoruz.


Şifredeki özel karakterleri URL olarak kodlayın

@, : veya # gibi karakterler içeren bir şifre, proxy dizesini beklenmedik yerden böler ve kimlik doğrulamayı bozar. Özellikle : karakteri alan ayırıcısıyla çakışır. Çözüm, şifreyi göndermeden önce URL olarak kodlamaktır:

from urllib.parse import quote


def format_proxy(host, port, username, password):
    """Format proxy string, handling special characters."""
    # URL-encode password if it contains special characters
    safe_password = quote(password, safe="")
    return f"{host}:{port}:{username}:{safe_password}"


# Password with special characters
proxy = format_proxy("192.168.1.1", "8080", "user", "p@ss:word!")

Hangi protokolü kullandığınızı belirleyin

Sağlayıcının verdiği protokolden emin değilseniz, portun hangi tür için açık olduğunu deneyerek bulabilirsiniz. Aşağıdaki yardımcı temel bir TCP bağlantı testiyle çalışan protokolü tahmin eder:

def detect_proxy_type(host, port):
    """Try to detect which proxy protocol works."""
    import socket

    for proxy_type in ["HTTP", "SOCKS5", "SOCKS4"]:
        try:
            # Basic TCP connection test
            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            sock.settimeout(5)
            result = sock.connect_ex((host, int(port)))
            sock.close()

            if result == 0:
                return proxy_type  # Port is open, try this type
        except Exception:
            continue

    return None

IP beyaz listesi mi, kimlik doğrulaması mı?

Bu hatanın en kafa karıştırıcı biçimi şudur: proxy yerelde kusursuz çalışır ama CaptchaAI üzerinden başarısız olur. Nedeni genellikle beyaz listedir. Bazı sağlayıcılar proxy'ye yalnızca önceden kaydettiğiniz IP'lerden erişime izin verir. Siz kendi makinenizden bağlandığınızda IP'niz listede olduğu için sorun çıkmaz; ancak CaptchaAI'nin sunucusu bağlanmaya çalıştığında onun IP'si listede olmadığından reddedilir.

İki temiz çözüm vardır. Birincisi, IP beyaz listesi yerine kullanıcı adı/şifre kimlik doğrulaması yöntemini kullanmak — bu, sunucu IP'sinden bağımsız çalıştığı için CAPTCHA çözüm servisleriyle en uyumlu yöntemdir. İkincisi, sağlayıcının panelinden CaptchaAI'nin çıkış IP'lerini beyaz listeye eklemektir. İkisini karıştırmayın: aynı proxy için hem beyaz liste hem kimlik doğrulama zorunluluğu varsa, ikisinin de doğru yapılandırıldığından emin olun.

Sorun giderme

Sorun Sebep Düzeltme
Doğru kimlik bilgilerinde hata Proxy IP beyaz listesi istiyor CaptchaAI IP'lerini beyaz listeye ekleyin veya yalnızca kimlik doğrulamalı proxy kullanın
Yerelde çalışıyor, CaptchaAI üzerinden başarısız Sunucu IP'si beyaz listede değil Bunun yerine kullanıcı adı/şifre kimlik doğrulaması kullanın
SOCKS proxy başarısız oluyor Yanlış protokol belirtildi SOCKS5 veya SOCKS4 deneyin
Aralıklı kimlik doğrulama hataları Proxy istek sınırlaması Özel/premium proxy kullanın
: içeren şifre biçimi bozuyor Kaçırılmamış özel karakterler Şifreyi URL olarak kodlayın

Pratikte nasıl görünür?

Tipik bir senaryo: İstanbul'da bir müşteri için otomasyon işi yürüten serbest bir geliştirici, yerel makinesinde sorunsuz çalışan bir proxy'yi CaptchaAI iş akışına taşır ve ilk toplu gönderimde ERROR_PROXY_NOT_AUTHORIZED alır. Yukarıdaki sırayı izleyerek önce biçimi doğrular (sorun yok), sonra test_proxy ile yerelde bağlantıyı sınar (başarılı) ve sonunda sağlayıcının IP beyaz listesinde takıldığını görür. Kimlik doğrulamalı erişime döndüğünde hata kaybolur.

Maliyet tarafında öngörülebilirlik burada bir avantajdır: CaptchaAI thread bazlı planlar sunar ve her thread'de sınırsız çözüm içerir; örneğin BASIC ($15/ay, 5 thread) sabit bir USD ücretle gelir. TL'nin oynaklığı düşünüldüğünde, aylık maliyeti USD üzerinden sabitlemek serbest çalışan geliştiriciler için planlamayı kolaylaştırır. Fiyatları yalnızca USD üzerinden değerlendirin; proxy hataları çözüldükten sonra thread sayısı, tek başına kontrol etmeniz gereken kapasite değişkenidir.


SSS

ERROR_PROXY_NOT_AUTHORIZED ile geçersiz parametre hatası aynı şey mi?

Hayır. Bu hata CAPTCHA parametrelerinizle değil, CaptchaAI ile proxy'niz arasındaki bağlantıyla ilgilidir. sitekey veya pageurl doğru olsa bile proxy el sıkışması başarısızsa bu hatayı alırsınız; düzeltme her zaman proxy tarafındadır.

Proxy yerelde çalışıyorsa neden CaptchaAI üzerinden başarısız oluyor?

Çünkü sağlayıcınız büyük olasılıkla IP beyaz listesi uyguluyor. Sizin IP'niz listede, CaptchaAI'nin sunucu IP'si değil. Kullanıcı adı/şifre kimlik doğrulaması yöntemine dönün ya da servisin çıkış IP'lerini beyaz listeye ekleyin.

Şifremde : veya @ varsa ne yapmalıyım?

Şifreyi göndermeden önce URL olarak kodlayın. Bu karakterler proxy dizesinin alan ayırıcısıyla çakışıp biçimi bozar; yukarıdaki format_proxy yardımcısı bunu sizin için halleder.

HTTP mi yoksa SOCKS5 mi seçmeliyim?

Çoğu hedef için HTTP/HTTPS yeterlidir. Hedef site açıkça SOCKS istiyorsa ya da daha yüksek anonimlik gerekiyorsa SOCKS5 kullanın. SOCKS4'e nadiren ihtiyaç duyulur; hangisinin açık olduğundan emin değilseniz detect_proxy_type ile deneyin.

Her görevde proxy zorunlu mu?

Hayır, proxy isteğe bağlıdır ve birçok CAPTCHA proxy olmadan sorunsuz çözülür. Proxy'yi, hedef site token'ı gönderen IP ile çözümü yapan IP'nin eşleşmesini kontrol ettiğinde kullanın.


İlgili Kılavuzlar


Proxy hatalarını hızla kapatın — CaptchaAI ile çözün.

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