Gi én geopy-geokoder en autentisert HTTP-proxy
Kod rå proxy-påloggingsdetaljer én gang og velg geokoderens eksplisitte mapping i stedet for å endre det delte prosessmiljøet rundt oppslag.
Bygg geokoderen med sin egen rute:
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,
)Applikasjonen leverer begge kontoene. google_api_key autoriserer Googles geokoding; brukernavnet og passordet i URL-en autoriserer proxyen. Kod disse rå komponentene én gang, og la URL-ens strukturelle skilletegn være utenfor kodingen.
| proxies-verdi | geopy-policy |
|---|---|
| None | Tillat systemoppdagelse |
| {} | Velg direkte tilgang |
| Ikke-tom mapping | Velg den oppgitte ruten |
Nøkkelen https samsvarer med HTTPS-destinasjoner som bæres gjennom HTTP-proxyen. geopy sin dokumenterte grensesnitt støtter HTTP-proxy, inkludert CONNECT; en stavemåte med https etablerer ikke i seg selv TLS til lytteren.
Gjenbruk geokoderen med den stabile policyen. Endring av miljøverdier rundt enkelte kall kan forstyrre en annen geokoder som arbeider samtidig.