Zum Inhalt springen

GProxy + Python requests — Der komplette 2026 Integration Guide

TL;DR

Verwenden Sie GProxy residential, datacenter oder IPv6 proxies mit der Python requests library in 4 Zeilen Code. Dieser Guide deckt HTTP/SOCKS5 authentication, session reuse, rotation, error handling und häufige pitfalls ab — mit copy-paste Beispielen.

Sprache: Python Version: 2.31+

Voraussetzungen

  • Python 3.7 oder neuer
  • requests Library installiert (pip install requests)
  • Für SOCKS5: requests[socks] (pip install requests[socks])
  • GProxy Account mit aktiven Zugangsdaten (residential, datacenter oder IPv6)

Schritt-für-Schritt-Einrichtung

1

Abhängigkeiten installieren

Installieren Sie die requests Bibliothek. Wenn Sie planen, SOCKS5 Proxys zu verwenden, installieren Sie das socks Extra.

pip install requests
pip install requests[socks]  # for SOCKS5 support
2

GProxy Zugangsdaten abrufen

Loggen Sie sich in Ihr GProxy Dashboard ein und kopieren Sie Ihren proxy Host, Port, Benutzernamen und Passwort von der entsprechenden Produktseite (Residential / Premium Datacenter / IPv6).

3

HTTP proxy mit Authentifizierung verwenden

Die einfachste Form. Übergeben Sie ein proxies Dict an requests. GProxy verwendet Basic Auth in der URL.

import requests

proxies = {
    'http':  'http://USERNAME:PASSWORD@dc.gproxy.net:8080',
    'https': 'http://USERNAME:PASSWORD@dc.gproxy.net:8080',
}

r = requests.get('https://api.ipify.org?format=json', proxies=proxies, timeout=15)
print(r.json())
# {'ip': '<your-proxy-egress-ip>'}
4

SOCKS5 proxy verwenden

Für SOCKS5 stellen Sie der URL socks5h:// voran (das h bedeutet, dass die DNS-Auflösung auf der proxy Seite erfolgt — wichtig für die Anonymität).

import requests

proxies = {
    'http':  'socks5h://USERNAME:PASSWORD@proxy.gproxy.net:1080',
    'https': 'socks5h://USERNAME:PASSWORD@proxy.gproxy.net:1080',
}

r = requests.get('https://api.ipify.org?format=json', proxies=proxies, timeout=15)
print(r.json())
5

Session für mehrere Anfragen wiederverwenden

Für mehrere Anfragen über denselben proxy (und um Keep-Alive-Verbindungen aufrechtzuerhalten), verwenden Sie eine Session. Dies ist wesentlich schneller, als jedes Mal eine neue Anfrage zu erstellen.

import requests

session = requests.Session()
session.proxies = {
    'http':  'http://USERNAME:PASSWORD@dc.gproxy.net:8080',
    'https': 'http://USERNAME:PASSWORD@dc.gproxy.net:8080',
}

for url in ['https://example.com/page1', 'https://example.com/page2']:
    r = session.get(url, timeout=15)
    print(r.status_code, len(r.content))
6

Proxys pro Anfrage rotieren

Bei rotierenden Residential oder IPv6 Proxys erhält jede neue Verbindung eine frische IP aus dem Pool. Verwenden Sie eine Liste und wählen Sie zufällig oder per Round-Robin aus.

import random
import requests

PROXIES = [
    'http://USERNAME:PASSWORD@rp.gproxy.net:8001',
    'http://USERNAME:PASSWORD@rp.gproxy.net:8002',
    'http://USERNAME:PASSWORD@rp.gproxy.net:8003',
]

def fetch(url):
    proxy_url = random.choice(PROXIES)
    return requests.get(url, proxies={'http': proxy_url, 'https': proxy_url}, timeout=15)

for _ in range(5):
    r = fetch('https://api.ipify.org?format=json')
    print(r.json())
7

Fehlerbehandlung und Retries

Netzwerkfehler und proxy Timeouts kommen vor. Umschließen Sie Aufrufe mit try/except und versuchen Sie es mit einem anderen proxy erneut. urllib3.Retry verarbeitet Retries auf HTTP-Ebene automatisch.

import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry

retry_strategy = Retry(
    total=3,
    backoff_factor=1,
    status_forcelist=[429, 500, 502, 503, 504],
    allowed_methods=['GET', 'POST'],
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session = requests.Session()
session.mount('http://', adapter)
session.mount('https://', adapter)
session.proxies = {'http': 'http://USERNAME:PASSWORD@dc.gproxy.net:8080',
                   'https': 'http://USERNAME:PASSWORD@dc.gproxy.net:8080'}

try:
    r = session.get('https://example.com', timeout=15)
    r.raise_for_status()
except requests.exceptions.ProxyError:
    print('Proxy failed — rotate to next')
except requests.exceptions.Timeout:
    print('Timeout — increase timeout or change proxy')
except requests.exceptions.RequestException as e:
    print(f'Other error: {e}')

Codebeispiele

Schnellstart — 4 Zeilen · python
import requests
proxies = {'http': 'http://USER:PASS@dc.gproxy.net:8080',
           'https': 'http://USER:PASS@dc.gproxy.net:8080'}
print(requests.get('https://api.ipify.org?format=json', proxies=proxies).json())
Async mit httpx (Alternative) · python
import httpx
import asyncio

async def fetch_all(urls):
    async with httpx.AsyncClient(proxy='http://USER:PASS@dc.gproxy.net:8080') as client:
        return await asyncio.gather(*[client.get(u) for u in urls])

results = asyncio.run(fetch_all(['https://example.com/p1', 'https://example.com/p2']))
for r in results:
    print(r.status_code)
Benutzerdefinierte Header + Cookies · python
import requests

session = requests.Session()
session.proxies = {'http': 'http://USER:PASS@dc.gproxy.net:8080',
                   'https': 'http://USER:PASS@dc.gproxy.net:8080'}
session.headers.update({
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
    'Accept-Language': 'en-US,en;q=0.9',
})

resp = session.get('https://example.com/login')
# Cookies persist across requests automatically
resp = session.post('https://example.com/login', data={'user': 'me', 'pass': 'x'})

Warum Python requests mit GProxy kombinieren?

Python requests ist die am häufigsten installierte Python HTTP-Bibliothek — über 30 Milliarden Downloads insgesamt. Das Hinzufügen von GProxy proxies erfordert nur 2 Zeilen Code und ermöglicht jeden Scraping-, Monitoring- und Automatisierungs-Workflow, der IP-Rotation, Geo-Targeting oder Anti-Bot-Bypass erfordert. Dieser Leitfaden ist End-to-End: Setup, Code, Sonderfälle, Fehlerbehebung.

HTTP vs SOCKS5 — was sollte man verwenden?

Für 95 % der Anwendungsfälle ist HTTP ausreichend und schneller. SOCKS5 gewinnt, wenn Sie Folgendes benötigen: (a) UDP-Traffic (Gaming, benutzerdefinierte Protokolle), (b) gänzlich Nicht-HTTP-Protokolle oder (c) wenn der DNS vom proxy verarbeitet werden soll (verwenden Sie dafür socks5h://). GProxy unterstützt beides bei jedem Produkt — wählen Sie nach Anwendungsfall.

Sticky sessions erklärt

Standardmäßig rotiert GProxy rotating residential die IP pro request. Einige Workflows müssen dieselbe IP für einige Minuten beibehalten (Login-Flows, mehrstufige Formulare). Um dies zu tun, hängen Sie ein Session-Token an Ihren Benutzernamen an:

USERNAME = 'your_user-session-abc123'  # any string after -session- locks the IP for ~30 min

Gleiche Session-ID = gleiche IP. ID ändern = neue IP erhalten.

Performance-Tipps

  • Verwenden Sie requests.Session. Es verwendet TCP-Verbindungen wieder und ist 5-10x schneller bei mehreren requests an denselben Host.
  • Setzen Sie einen angemessenen Timeout. Der Standardwert ist kein Timeout — Ihr Skript bleibt hängen, wenn der proxy langsam ist. Wir empfehlen 15-30 Sekunden für residential.
  • Laden Sie den Response-Body nicht, wenn Sie nur den Status-Code benötigen. Verwenden Sie stream=True und schließen Sie die Verbindung.
  • Parallele requests — verwenden Sie concurrent.futures.ThreadPoolExecutor für 5-50 gleichzeitige Verbindungen oder asyncio + httpx für 100+.

Häufige Fehlerfallen

  • SSL-Fehler bei HTTPS über HTTP proxy. Fügen Sie verify=True hinzu (Standard) — setzen Sie dies in der Produktion niemals auf False. Wenn Sie einen Zertifikatsfehler speziell bezüglich des proxy erhalten, stellen Sie sicher, dass Sie den korrekten Hostnamen verwenden.
  • Passwort enthält Sonderzeichen. URL-encoden Sie das Passwort, bevor Sie es in das proxies-Dict einfügen: urllib.parse.quote(password, safe='').
  • requests folgt keinen proxy-Umgebungsvariablen, wenn proxies={} übergeben wird. Wenn Sie eine umgebungsgesteuerte Konfiguration wünschen, verwenden Sie trust_env=True in der Session.

Anwendungsfälle

Web scraping at scale

Kombinieren Sie requests + GProxy residential rotation, um E-Commerce-Seiten ohne IP bans zu scrapen.

API request distribution

Nutzen Sie einen Pool von GProxy IPv6 proxies, um API calls zu verteilen und per-IP rate limits zu vermeiden.

SERP monitoring

Rotieren Sie durch residential proxies in verschiedenen Städten, um lokale Google-Rankings zu verfolgen.

Price intelligence

Datacenter proxies für High-Volume-Crawling von ungeschützten Preis-Seiten.

Sneaker bot HTTP layer

Verwenden Sie ISP static virgin proxies (GProxy $6.50/IP virgin tier) für erste Versuche bei Sneaker-Drops.

Social media health checks

Einzelne sticky residential session, um die Anzeigenbereitstellung über geo-targeted accounts zu verifizieren.

Profi-Tipps

Verwenden Sie Session, nicht requests.get() in einer Schleife. Eine einzelne Session hält Verbindungen aufrecht — das spart 100-500ms pro Request.

Mischen Sie Sticky- und rotierende Sessions. Verwenden Sie Sticky für mehrstufige Flows (Login → Aktion → Logout), rotierende für zustandslose Abrufe.

Protokollieren Sie die Egress-IP bei Fehlern. Fügen Sie print(requests.get('https://api.ipify.org', proxies=proxies).text) am Anfang jedes Scrapes hinzu, um zu bestätigen, dass die Rotation funktioniert.

FAQ

Verwende ich http:// oder https:// im proxies dict? +
Das Schema ist das proxy-Protokoll, nicht die Zielseite. Verwenden Sie 'http://' für HTTP proxies (funktioniert sowohl für HTTP- als auch für HTTPS-Zielseiten). Verwenden Sie 'socks5://' oder 'socks5h://' für SOCKS5 proxies.
Warum sollte man socks5h:// anstelle von socks5:// verwenden? +
socks5h sendet DNS-Abfragen durch den proxy (anonym). socks5 löst DNS lokal auf und gibt Ihren echten DNS-Server preis. Für Anonymität immer socks5h.
Kann ich denselben code für residential, IPv6 und datacenter proxies verwenden? +
Ja. Das Einzige, was sich ändert, ist die proxy-URL (andere Hostnames/Ports). Residential und IPv6 verwenden rp.gproxy.net; datacenter verwendet dc.gproxy.net. Das Auth-Format ist identisch.
Wie rotiere ich residential proxies? +
Zwei Optionen: (1) Senden Sie jede Anfrage über eine neue Verbindung — GProxy rotating residential gibt Ihnen eine neue IP pro Anfrage. (2) Verwenden Sie sticky sessions, indem Sie eine session ID an Ihren Benutzernamen anhängen (USER-session-XXX). Sticky ermöglicht es Ihnen, dieselbe IP für bis zu 30 Minuten zu behalten.
Ich erhalte 407 Proxy Authentication Required. +
Falsche Zugangsdaten oder falsche proxy-URL. Überprüfen Sie Ihr Dashboard auf den exakten USERNAME:PASSWORD@host:port String. Beachten Sie, dass Sonderzeichen in Passwörtern URL-encoded sein müssen.
Ich erhalte 'Cannot connect to proxy: tunnel connection failed: 502'. +
Entweder ist Ihr Abonnement abgelaufen (Dashboard-Guthaben prüfen) oder Sie versuchen, auf ein blockiertes Ziel zuzugreifen. Versuchen Sie zuerst eine andere Ziel-URL, um das Problem zu isolieren.
Unterstützt requests HTTP/2? +
Nein, requests unterstützt nur HTTP/1.1. Für HTTP/2 verwenden Sie httpx (das mit demselben proxy-URL-Format funktioniert) — siehe das alternative Snippet oben.

Bereit loszulegen?

Starten Sie mit GProxy in Minuten — Residential-Proxies ab $0,85/GB, IPv6 ab $0,03/Proxy, nutzungsbasierte Abrechnung.

Weitere Integrationen

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.