Выберите один прокси из файла, затем постройте карту маршрутов для запроса к сайту. Пул кандидатов в конечные точки сам по себе не является словарём маршрутизации Requests.

  1. Разберите строку по заданному формату. Неформальная строка IP:port:user:password неоднозначна, когда адреса IPv6 или учётные данные содержат двоеточия. Для хоста IPv4, числового порта и имени пользователя без двоеточий ограниченное разделение может оставить остаток текста в качестве пароля. Используйте отдельные структурированные поля, когда эти ограничения не подходят.
  2. Выберите конечную точку для этой операции. Сохраните её фактический протокол и закодируйте компоненты учётных данных при построении её URL. Держите это значение, несущее секрет, вне обычных журналов.
  3. Сопоставьте схемы назначения с этим выбранным URL. Для одного выбранного HTTP-прокси карта может выглядеть так:
routes = {
    'http': selected_proxy_url,
    'https': selected_proxy_url,
}

Ключи http и https выбирают схемы назначения. Ключ вроде http://203.0.113.10 вместо этого выбирает запросы именно к этому хосту назначения; он не помечает прокси по этому адресу. Использование каждого IP прокси в качестве ключа может оставить несвязанный сайт без нужного маршрута.

Разберите пул один раз, выберите конечную точку и создайте сопоставление для вызова клиента. Раздельное хранение этих шагов позволяет менять политику выбора, не меняя смысл ключей маршрутизации Requests.

Похожие статьи