Дайте одному геокодеру geopy аутентифицированный HTTP-прокси
Закодируйте необработанные учётные данные прокси один раз и выберите явное сопоставление геокодера вместо изменения общего окружения процесса вокруг поисков.
Создайте геокодер с собственным маршрутом:
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,
)Приложение предоставляет обе учётные записи. google_api_key разрешает геокодирование Google; имя пользователя и пароль в URL разрешают прокси. Закодируйте эти необработанные компоненты один раз, оставив структурные разделители URL вне кодирования.
| значение proxies | политика geopy |
|---|---|
| None | Разрешить обнаружение системы |
| {} | Выбрать прямой доступ |
| Непустое сопоставление | Выбрать предоставленный маршрут |
Ключ https соответствует HTTPS-назначениям, передаваемым через HTTP-прокси. Документированный интерфейс geopy поддерживает HTTP-проксирование, включая CONNECT; написание https само по себе не устанавливает TLS с получателем.
Повторно используйте геокодер с этой стабильной политикой. Изменение значений окружения вокруг отдельных вызовов может помешать другому геокодеру, работающему одновременно.