Redireccións de Python Requests: None fronte a valores de proxy baleiros
Manteña explícita a intención de enrutamento directo entre redireccións en vez de confiar nun valor None que elimina unha entrada do mapa.
Se unha solicitude directa chega a unha redirección e o seguinte intercambio falla nun proxy, examine a transición. Requests reconstrúe a configuración relacionada co proxy para as redireccións e pode volver consultar a contorna cando a Session confía nela.
| Valor do mapa | Que ocorre durante a fusión |
|---|---|
None | A clave elimínase, deixando unha entrada ausente que unha pasada posterior pode encher desde a contorna. |
| Unha cadea baleira | O valor explícito permanece; pode preservar a intención de enrutamento directo para ese esquema. |
Para unha Session existente, forneza os esquemas de destino implicados na operación directa:
response = session.get(
'https://example.com/start',
proxies={'http': '', 'https': ''},
timeout=15,
)Revise os mapas adicionais específicos do host e os adaptadores personalizados se a aplicación os fornece. Esta entrada de enrutamento non anula todas as políticas posibles que implementan eses compoñentes.
Conserve cada URL no diagnóstico
Rexiste a URL orixinal, cada localización de redirección, o estado da resposta e a etapa que falla. O paso de HTTP a HTTPS muda a clave de esquema pertinente; un host novo pode quedar fóra da regra de omisión do primeiro host. Un informe que só conteña a URL inicial agocha ambas transicións.
Observar unha resposta co seguimento de redireccións desactivado pode expor a fronteira. Examine a súa localización como dato antes de decidir solicitala; non envía sen criterio as credenciais orixinais a un destino novo.
Unha Session dedicada co descubrimento de contorna desactivado é outra opción cando a aplicación posúe deliberadamente todas as entradas de enrutamento e confianza. Iso tamén afecta o descubrimento automático de credenciais e CA, así que escolle como política da aplicación e non como reparación rutineira de redireccións.