Ge en geopy-geokodare en autentiserad HTTP-proxy
Koda råa proxy-uppgifter en gång och välj geokodarens explicita mappning i stället för att ändra den delade processmiljön kring uppslag.
Bygg geokodaren med sin egen rutt:
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,
)Programmet tillhandahåller båda kontona. google_api_key auktoriserar Googles geokodning; användarnamnet och lösenordet i URL:en auktoriserar proxyn. Koda dessa råa komponenter en gång, och låt URL:ens strukturella avgränsare ligga utanför kodningen.
| proxies-värde | geopy-policy |
|---|---|
| None | Tillåt systemupptäckt |
| {} | Välj direktåtkomst |
| Icke-tom mappning | Välj den angivna rutten |
Nyckeln https matchar HTTPS-destinationer som bärs genom HTTP-proxyn. geopys dokumenterade gränssnitt stöder HTTP-proxy, inklusive CONNECT; en stavning med https upprättar inte i sig TLS till lyssnaren.
Återanvänd geokodaren med den stabila policyn. Att ändra miljövärden kring enskilda anrop kan störa en annan geokodare som arbetar samtidigt.