Selecione um proxy do arquivo e então monte o mapa de rotas para a requisição ao site. Um conjunto de endpoints candidatos não é, por si só, um dicionário de roteamento do Requests.

  1. Analise a entrada segundo um formato definido. Uma linha informal IP:port:user:password é ambígua quando endereços IPv6 ou credenciais contêm dois-pontos. Para um host IPv4, porta numérica e nome de usuário sem dois-pontos, uma divisão limitada pode deixar o texto restante como senha. Use campos estruturados separados quando essas restrições não se aplicarem.
  2. Escolha o endpoint para esta operação. Preserve o protocolo real e codifique os componentes das credenciais ao montar sua URL. Mantenha esse valor que carrega segredo fora dos logs habituais.
  3. Mapeie os esquemas de destino para essa URL selecionada. Para um proxy HTTP selecionado, o mapa pode ser assim:
routes = {
    'http': selected_proxy_url,
    'https': selected_proxy_url,
}

As chaves http e https selecionam esquemas de destino. Uma chave como http://203.0.113.10 seleciona, em vez disso, requisições para exatamente esse host de destino; ela não rotula o proxy desse endereço. Usar cada IP de proxy como chave pode deixar um site não relacionado sem a rota pretendida.

Analise o conjunto uma vez, selecione um endpoint e crie o mapeamento para a chamada do cliente. Manter essas etapas separadas permite mudar a política de seleção sem mudar o que as chaves de roteamento do Requests significam.

Artigos relacionados