Einem geopy-Geocoder einen authentifizierten HTTP-Proxy geben
Kodieren Sie die rohen Proxy-Anmeldedaten einmal und wählen Sie das explizite Mapping des Geocoders, statt die gemeinsame Prozessumgebung um Abfragen herum zu ändern.
Erstellen Sie den Geocoder mit seiner eigenen Route:
from urllib.parse import quote
from geopy.geocoders import GoogleV3
account = quote(proxy_user, safe='') + ':' + quote(proxy_password, safe='')
proxy_url = f'http://{account}@proxy.example:8080'
geocoder = GoogleV3(
api_key=google_api_key,
proxies={'http': proxy_url, 'https': proxy_url},
timeout=10,
)Die Anwendung stellt beide Konten bereit. google_api_key autorisiert die Google-Geokodierung; Benutzername und Passwort in der URL autorisieren den Proxy. Kodieren Sie diese Rohbestandteile einmal, und lassen Sie die strukturellen URL-Trennzeichen außerhalb der Kodierung.
| proxies-Wert | geopy-Richtlinie |
|---|---|
| None | Systemerkennung zulassen |
| {} | Direkten Zugriff wählen |
| Nichtleeres Mapping | Die vorgegebene Route wählen |
Der Schlüssel https passt zu HTTPS-Zielen, die über den HTTP-Proxy laufen. Die dokumentierte Schnittstelle von geopy unterstützt HTTP-Proxying, einschließlich CONNECT; eine Schreibweise von https baut für sich genommen kein TLS zum Listener auf.
Verwenden Sie den Geocoder mit dieser stabilen Richtlinie erneut. Das Ändern von Umgebungswerten um einzelne Aufrufe herum kann einen anderen Geocoder stören, der gleichzeitig arbeitet.