Zurück zum Blog

Proxy unterstützt das erforderliche Protokoll nicht: Was tun?

Ursachen für Proxy-Inkompatibilität mit Protokollen und praktische Lösungen: von der Konfiguration lokaler Konverter bis zur richtigen Auswahl des Proxy-Typs.

📅9. Dezember 2025
```html

Proxy unterstützt das benötigte Protokoll nicht: Was tun?

Sie haben einen Proxy eingerichtet, das Skript gestartet – und erhalten die Fehlermeldung „Protocol not supported“ oder „Connection refused“. Das Problem der Protokollinkompatibilität tritt häufiger auf, als man denkt. Wir zeigen, warum dies geschieht und wie Sie die Aufgabe lösen können, ohne den Anbieter wechseln zu müssen.

Welche Protokolle Proxys verwenden

Bevor Sie das Problem lösen, ist es wichtig, die Unterschiede zwischen den Protokollen zu verstehen. Jedes hat seinen eigenen Anwendungsbereich und Einschränkungen.

Protokoll Standardports Besonderheiten
HTTP 80, 8080, 3128 Nur HTTP-Traffic, kann Header modifizieren
HTTPS (CONNECT) 443, 8443 Tunneling über HTTP CONNECT, Verschlüsselung
SOCKS4 1080 TCP-Verbindungen, keine Authentifizierung, kein UDP
SOCKS5 1080, 1081 TCP und UDP, Authentifizierung, DNS über Proxy

Typische Konflikte:

  • Selenium und Puppeteer benötigen HTTP/HTTPS, Sie haben aber SOCKS5
  • Telegram-Bots arbeiten über SOCKS5, der Proxy unterstützt aber nur HTTP
  • Torrent-Clients benötigen SOCKS5 mit UDP, der Proxy bietet nur SOCKS4
  • Gaming-Anwendungen erfordern UDP, was HTTP-Proxys nicht unterstützen

Diagnose: Das Proxy-Protokoll bestimmen

Wenn der Anbieter das Protokoll nicht explizit angibt oder Sie unsicher sind, testen Sie den Proxy selbst.

Testen mit curl

Testen des HTTP-Protokolls:

# HTTP Proxy
curl -x http://proxy_ip:port http://httpbin.org/ip

# Mit Authentifizierung
curl -x http://user:pass@proxy_ip:port http://httpbin.org/ip

Testen von SOCKS5:

# SOCKS5 Proxy
curl -x socks5://proxy_ip:port http://httpbin.org/ip

# SOCKS5 mit DNS über Proxy (socks5h)
curl -x socks5h://proxy_ip:port http://httpbin.org/ip

Wenn der Befehl die IP-Adresse des Proxys zurückgibt, wurde das Protokoll korrekt identifiziert. Eine Fehlermeldung wie Connection refused oder Unsupported proxy deutet auf ein falsches Protokoll hin.

Testen mit Python

import requests

proxy_ip = "proxy_ip:port"

# HTTP-Test
try:
    r = requests.get("http://httpbin.org/ip", 
                     proxies={"http": f"http://{proxy_ip}"}, 
                     timeout=10)
    print(f"HTTP funktioniert: {r.json()}")
except Exception as e:
    print(f"HTTP funktioniert nicht: {e}")

# SOCKS5-Test (erfordert pip install requests[socks])
try:
    r = requests.get("http://httpbin.org/ip", 
                     proxies={"http": f"socks5://{proxy_ip}"}, 
                     timeout=10)
    print(f"SOCKS5 funktioniert: {r.json()}")
except Exception as e:
    print(f"SOCKS5 funktioniert nicht: {e}")

Automatische Erkennung

Skript zum Durchprobieren der Protokolle:

import requests

def detect_protocol(proxy_address):
    protocols = ["http", "https", "socks4", "socks5", "socks5h"]
    
    for proto in protocols:
        try:
            proxies = {
                "http": f"{proto}://{proxy_address}",
                "https": f"{proto}://{proxy_address}"
            }
            r = requests.get("http://httpbin.org/ip", 
                           proxies=proxies, timeout=5)
            if r.status_code == 200:
                return proto
        except:
            continue
    return None

result = detect_protocol("proxy_ip:port")
print(f"Erkanntes Protokoll: {result}")

Konvertierung von HTTP zu SOCKS und umgekehrt

Wenn der Proxy nicht das Protokoll unterstützt, das Ihre Software benötigt, verwenden Sie einen lokalen Konverter.

Privoxy: HTTP → SOCKS

Privoxy nimmt HTTP-Anfragen entgegen und leitet sie über einen SOCKS-Proxy weiter.

Installation:

# Ubuntu/Debian
sudo apt install privoxy

# macOS
brew install privoxy

# Windows — von der offiziellen Website herunterladen

Konfiguration (Datei /etc/privoxy/config):

# Lauscht auf dem lokalen Port 8118 (HTTP)
listen-address 127.0.0.1:8118

# Leitet weiter über den externen SOCKS5
forward-socks5 / socks_proxy_ip:1080 .

# Mit Authentifizierung
forward-socks5 / user:pass@socks_proxy_ip:1080 .

Ihre Software verbindet sich nun über HTTP mit 127.0.0.1:8118, und der Traffic wird über SOCKS5 geleitet.

Gost: Universeller Konverter

Gost ist ein leistungsstarkes Tool für alle Arten von Protokolltransformationen.

# HTTP-Proxy als Eingang → SOCKS5 als Ausgang
gost -L http://:8080 -F socks5://socks_proxy_ip:1080

# SOCKS5 als Eingang → HTTP als Ausgang
gost -L socks5://:1080 -F http://http_proxy_ip:8080

# Mit Authentifizierung an beiden Enden
gost -L http://local_user:local_pass@:8080 \
     -F socks5://remote_user:remote_pass@proxy_ip:1080

Konverter in Python

Ein minimalistischer Konverter für einfache Aufgaben:

# pip install pproxy
# HTTP als Eingang, SOCKS5 als Ausgang
pproxy -l http://:8080 -r socks5://proxy_ip:1080

# SOCKS5 als Eingang, HTTP als Ausgang  
pproxy -l socks5://:1080 -r http://proxy_ip:8080

Einrichtung lokaler Tunnel

Manchmal reicht eine Konvertierung nicht aus – ein vollwertiger Tunnel ist erforderlich.

SSH-Tunnel über HTTP-Proxy

Wenn Sie einen SSH-Server und einen HTTP-Proxy haben, können Sie einen SOCKS5-Tunnel erstellen:

# Erstellen eines SOCKS5 auf localhost:1080 über den HTTP-Proxy
ssh -D 1080 -o ProxyCommand="nc -X connect -x http_proxy:8080 %h %p" user@ssh_server

Stunnel für HTTPS

Wenn Sie einen HTTPS-Proxy benötigen, aber nur einen HTTP-Proxy haben:

# stunnel.conf
[https-proxy]
client = yes
accept = 127.0.0.1:8443
connect = http_proxy_ip:8080
protocol = connect
protocolHost = target_host:443

Software für das verfügbare Protokoll konfigurieren

Manchmal ist es einfacher, die Software an das verfügbare Protokoll anzupassen, als das Protokoll zu konvertieren.

Selenium mit verschiedenen Protokollen

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# HTTP Proxy (Standardmethode)
options = Options()
options.add_argument('--proxy-server=http://proxy_ip:8080')

# SOCKS5 Proxy
options.add_argument('--proxy-server=socks5://proxy_ip:1080')

# Für Firefox mit SOCKS5
from selenium.webdriver.firefox.options import Options as FirefoxOptions
profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.socks", "proxy_ip")
profile.set_preference("network.proxy.socks_port", 1080)
profile.set_preference("network.proxy.socks_version", 5)

aiohttp mit SOCKS

# pip install aiohttp-socks
import aiohttp
from aiohttp_socks import ProxyConnector

async def fetch_with_socks():
    connector = ProxyConnector.from_url('socks5://proxy_ip:1080')
    async with aiohttp.ClientSession(connector=connector) as session:
        async with session.get('http://httpbin.org/ip') as response:
            return await response.json()

Telegram-Bots über HTTP

Wenn die Telegram-Bibliothek SOCKS5 erfordert, Sie aber nur HTTP haben:

# python-telegram-bot mit HTTP Proxy
from telegram.ext import ApplicationBuilder

application = (
    ApplicationBuilder()
    .token("YOUR_TOKEN")
    .proxy_url("http://proxy_ip:8080")  # Funktioniert mit HTTP
    .build()
)

Tipp: Viele moderne Bibliotheken unterstützen beide Protokolle. Prüfen Sie die Dokumentation – manchmal reicht es aus, das URL-Schema von socks5:// auf http:// zu ändern.

Wie man einen Proxy mit dem richtigen Protokoll auswählt

Um Protokollprobleme zu vermeiden, bestimmen Sie die Anforderungen im Voraus.

Kompatibilitätsmatrix

Aufgabe Empfohlenes Protokoll Warum
Web-Scraping HTTP/HTTPS Breite Unterstützung, einfache Einrichtung
Browser-Automatisierung HTTP oder SOCKS5 Abhängig vom Browser und Framework
Telegram, Discord Bots SOCKS5 Anforderungen der Bibliotheken
Torrents SOCKS5 mit UDP DHT und PEX verwenden UDP
Spiele, VoIP SOCKS5 mit UDP Geringe Latenz, UDP-Traffic
API-Anfragen HTTP/HTTPS REST APIs laufen über HTTP

Worauf Sie bei der Auswahl eines Anbieters achten sollten

  • Liste der unterstützten Protokolle – sollte explizit angegeben sein
  • Umschaltmöglichkeit – einige Anbieter ermöglichen den Zugriff auf dieselbe IP über verschiedene Ports/Protokolle
  • UDP-Unterstützung für SOCKS5 – nicht alle SOCKS5-Proxys unterstützen UDP
  • Dokumentation zur Einrichtung – Beispiele für verschiedene Sprachen und Tools

Residenzielle Proxys unterstützen in der Regel gleichzeitig HTTP/HTTPS und SOCKS5, was die meisten Kompatibilitätsprobleme beseitigt. Rechenzentrums-Proxys sind häufig auf HTTP/HTTPS beschränkt.

Checkliste vor dem Kauf

  1. Bestimmen Sie, welches Protokoll Ihre Software benötigt
  2. Prüfen Sie, ob UDP benötigt wird (Spiele, Torrents, VoIP)
  3. Fragen Sie den Anbieter explizit nach der Unterstützung des benötigten Protokolls
  4. Fordern Sie einen Testzugang an, um die Kompatibilität zu überprüfen
  5. Halten Sie einen Plan B bereit – einen lokalen Konverter

Fazit

Die Inkompatibilität von Protokollen ist ein lösbares Problem. In den meisten Fällen genügt ein lokaler Konverter wie Privoxy oder Gost. Für langfristige Projekte ist es jedoch vorteilhafter, einen Proxy zu wählen, der das benötigte Protokoll von vornherein unterstützt.

Für Aufgaben, die Flexibilität bei der Protokollwahl erfordern, eignen sich residente Proxys mit Multiprotokollzugriff – mehr dazu auf proxycove.com.

```