Bei der Arbeit mit Python requests
Bibliothek müssen Sie manchmal einen Proxyserver verwenden. Proxys sind aus verschiedenen Gründen nützlich, z. B. um geografische Beschränkungen zu umgehen, Anonymität zu gewährleisten oder auf Ressourcen durch eine Unternehmensfirewall zuzugreifen. In diesem Handbuch erfahren Sie, wie Sie Proxys mit der requests
Bibliothek.
Häufige Probleme
Bevor wir uns in den Code vertiefen, wollen wir einige häufige Probleme ansprechen, auf die Sie stoßen könnten:
- Falsches Proxy-URL-Format: Stellen Sie sicher, dass die Proxy-URL das richtige Format hat.
- DNS-Auflösungsfehler: Diese treten auf, wenn der Proxy den Hostnamen nicht auflösen kann.
- Authentifizierungsprobleme: Überprüfen Sie, ob Ihre Proxy-Anmeldeinformationen korrekt sind.
- Nichtübereinstimmung des Proxy-Protokolls: Verwenden Sie den richtigen Proxy für das Protokoll (HTTP oder HTTPS).
Korrektes Proxy-URL-Format
Eine Proxy-URL mit Authentifizierung sollte diesem Format folgen:
http://username:password@proxy_ip:proxy_port
Einrichten von Proxys in Anfragen
Um Proxys mit dem requests
Bibliothek müssen Sie sie in einem Wörterbuch angeben, das an die proxies
Parameter der Anforderungsmethode. Hier ist ein schrittweises Beispiel:
- Importieren Sie die Anforderungsbibliothek.
- Definieren Sie die Proxy-URL.
- Erstellen Sie ein Wörterbuch für die Proxys.
- Stellen Sie eine Anfrage mithilfe der Proxys.
Hier ist der vollständige Code:
import requests
# Define your proxy URL
proxies = {
'http': 'http://user123456:[email protected]:8085',
'https': 'http://user123456:[email protected]:8085'
}
# Try to make a request using the proxies
try:
response = requests.get('https://api.ipify.org', proxies=proxies, timeout=10, verify=False)
my_ip = response.text
print(f"My IP address: {my_ip}")
except requests.exceptions.ProxyError as e:
print(f"Proxy error: {e}")
except requests.exceptions.RequestException as e:
print(f"Request error: {e}")
Erläuterung des Codes
- Importieren der Bibliothek: Importieren Sie zunächst die
requests
Bibliothek. - Proxy-Wörterbuch: Erstellen Sie ein Wörterbuch mit dem Namen
proxies
wo beidehttp
Undhttps
Schlüssel sind auf Ihre Proxy-URL eingestellt. - Die Anfrage stellen: Verwenden Sie die
requests.get
Methode zum Senden einer GET-Anfrage an eine Test-URL (https://api.ipify.org
in diesem Fall). Diese URL gibt Ihre öffentliche IP-Adresse zurück. - Fehlerbehandlung: Implementieren Sie eine Fehlerbehandlung, um alle Proxy- oder Anforderungsfehler abzufangen und auszudrucken.
Wichtige Überlegungen
- Proxy-Funktionalität: Stellen Sie sicher, dass Ihr Proxyserver betriebsbereit und erreichbar ist. Testen Sie ihn mit einem Browser oder einem anderen Tool.
- Referenzen: Überprüfen Sie Ihre Proxy-Authentifizierungsdaten (Benutzername und Kennwort) noch einmal.
- DNS-Einstellungen: Wenn die DNS-Probleme weiterhin bestehen, stellen Sie sicher, dass die DNS-Einstellungen Ihres Computers richtig konfiguriert sind, oder versuchen Sie es mit einem anderen Proxyserver.
Tipps zur Fehlerbehebung
- Proxy funktioniert nicht im Code, aber im Browser: Dies deutet häufig auf Probleme mit der Proxy-Einstellung im Code hin. Überprüfen Sie das Format und die Protokolle noch einmal.
- Zeitüberschreitungen: Erhöhen Sie den Timeout-Wert im
requests.get
Methode, wenn es häufig zu Zeitüberschreitungen kommt. - SSL-Verifizierung: Wenn Sie Probleme mit dem SSL-Zertifikat haben, setzen Sie
verify=False
um SSL-Prüfungen zu umgehen. Beachten Sie, dass dies aufgrund von Sicherheitsrisiken für Produktionsumgebungen nicht empfohlen wird.
Wenn Sie dieser Anleitung folgen, sollten Sie in der Lage sein, Proxys effektiv mit Pythons zu verwenden requests
Bibliothek. Proxys sind leistungsstarke Tools. Wenn Sie wissen, wie Sie sie richtig implementieren, können Sie Netzwerkanforderungen in verschiedenen Szenarien besser verwalten.