Geef één geopy-geocoder een geauthenticeerde HTTP-proxy
Codeer de ruwe proxyreferenties één keer en kies de expliciete mapping van de geocoder in plaats van de gedeelde procesomgeving rond opzoekingen te wijzigen.
Bouw de geocoder met zijn eigen 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,
)De applicatie levert beide accounts. google_api_key autoriseert Google-geocodering; de gebruikersnaam en het wachtwoord in de URL autoriseren de proxy. Codeer die ruwe onderdelen één keer, en laat de structurele URL-scheidingstekens buiten de codering.
| proxies-waarde | geopy-beleid |
|---|---|
| None | Systeemdetectie toestaan |
| {} | Directe toegang kiezen |
| Niet-lege mapping | De opgegeven route kiezen |
De sleutel https komt overeen met HTTPS-bestemmingen die via de HTTP-proxy worden vervoerd. De gedocumenteerde interface van geopy ondersteunt HTTP-proxying, inclusief CONNECT; een spelling van https brengt zelf geen TLS naar de listener tot stand.
Hergebruik de geocoder met dat stabiele beleid. Het wijzigen van omgevingswaarden rond afzonderlijke aanroepen kan een andere geocoder storen die tegelijkertijd werkt.