¿Se conectará OkHttp directamente cuando falla un proxy?
Utilice la versión del cliente, los candidatos de enrutamiento y la ruta de reintento de la aplicación para decidir si un proxy fallido puede llevar a un acceso directo.
En el caso histórico del proxy HTTP del sistema, OkHttp cambió su comportamiento en 3.5.0: dejó de intentar una conexión directa después de que ese proxy fallara. Un informe más antiguo sobre una reversión silenciosa puede describir el comportamiento anterior a ese cambio.
Esa historia no resuelve la política de enrutamiento de cada aplicación. Para interpretar un informe de su propia aplicación, siga estas tres comprobaciones:
- Encuentre la versión resuelta de OkHttp. Utilice la información de dependencias de la aplicación, incluida la versión que un framework realmente incluye, en lugar de la antigüedad del ejemplo copiado.
- Encuentre cómo elige una ruta este cliente. Un proxy explícito y un ProxySelector personalizado son configuraciones distintas. Si el selector ofrece un candidato directo después de un proxy, está ofreciendo una alternativa directa.
- Siga el manejador de fallos. Busque código de la aplicación que reintente con otro cliente. Una petición directa hecha por ese sustituto queda fuera de la decisión del primer cliente.
Para un requisito de proxy obligatorio, la política del cliente correspondiente debe detenerse en lugar de ofrecer una alternativa directa. Compruebe el cliente real y la ruta de reintento frente a ese requisito; el cambio de 3.5.0 por sí solo no es una regla de tráfico para toda la máquina.