GProxy + Python requests — Der komplette 2026 Integration Guide
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.
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
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
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).
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>'}
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())
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))
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())
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
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())
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)
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=Trueund schließen Sie die Verbindung. - Parallele requests — verwenden Sie
concurrent.futures.ThreadPoolExecutorfür 5-50 gleichzeitige Verbindungen oderasyncio + httpxfür 100+.
Häufige Fehlerfallen
- SSL-Fehler bei HTTPS über HTTP proxy. Fügen Sie
verify=Truehinzu (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=Truein 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.
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? +
Warum sollte man socks5h:// anstelle von socks5:// verwenden? +
Kann ich denselben code für residential, IPv6 und datacenter proxies verwenden? +
Wie rotiere ich residential proxies? +
Ich erhalte 407 Proxy Authentication Required. +
Ich erhalte 'Cannot connect to proxy: tunnel connection failed: 502'. +
Unterstützt requests HTTP/2? +
Bereit loszulegen?
Starten Sie mit GProxy in Minuten — Residential-Proxies ab $0,85/GB, IPv6 ab $0,03/Proxy, nutzungsbasierte Abrechnung.
