Redirecionamentos do Python Requests: None versus valores de proxy vazios
Mantenha a intenção de encaminhamento direto explícita ao longo dos redirecionamentos, em vez de confiar num valor None que remove uma entrada de mapeamento.
Se um pedido direto chega a um redirecionamento e a troca seguinte falha num proxy, examine a transição. O Requests reconstrói as definições relacionadas com o proxy para os redirecionamentos e pode voltar a consultar o ambiente quando a Session confia nele.
| Valor do mapeamento | O que acontece durante a fusão |
|---|---|
None | A chave é removida, deixando uma entrada em falta que uma passagem posterior pode preencher a partir do ambiente. |
| Uma string vazia | O valor explícito permanece; pode preservar a intenção de encaminhamento direto para esse esquema. |
Para uma Session existente, forneça os esquemas de destino envolvidos na operação direta:
response = session.get(
'https://example.com/start',
proxies={'http': '', 'https': ''},
timeout=15,
)Verifique mapeamentos adicionais específicos do anfitrião e adaptadores personalizados se a aplicação os fornecer. Esta entrada de encaminhamento não substitui todas as políticas possíveis que esses componentes implementam.
Guarde cada URL no diagnóstico
Registe o URL original, cada local de redirecionamento, o estado da resposta e a etapa que falha. A mudança de HTTP para HTTPS altera a chave de esquema relevante; um novo anfitrião pode ficar fora da regra de contorno do primeiro. Um relatório que contenha apenas o URL inicial esconde as duas transições.
Observar uma resposta com o seguimento de redirecionamentos desativado pode expor a fronteira. Examine a localização como dado antes de decidir pedi-la; não envie indiscriminadamente as credenciais originais para um novo destino.
Uma Session dedicada com a descoberta de ambiente desativada é outra opção quando a aplicação possui deliberadamente todas as entradas de encaminhamento e confiança. Isso também afeta a descoberta automática de credenciais e CA, por isso escolha-a como política da aplicação e não como reparação rotineira de redirecionamento.