Las redes VPN de Android pueden anunciar un proxy HTTP
Use un ProxyInfo directo con VpnService.Builder en Android API 29 o posterior, y entienda por qué un URI PAC no funciona ahí.
Android API 29 introdujo VpnService.Builder.setHttpProxy para adjuntar una recomendación de proxy HTTP a una red VPN. En un servicio VPN existente, antes de establecer su interfaz configurada:
builder.setHttpProxy(
ProxyInfo.buildDirectProxy("proxy.example", 8080));
Aquí builder es el VpnService.Builder del servicio y ProxyInfo es android.net.ProxyInfo. Indique el host y el puerto del proxy por separado. Este fragmento añade la información del proxy a un builder cuyos demás parámetros VPN ya están configurados.
Los proxys PAC no son compatibles con esta API. Crear un ProxyInfo a partir de un URI PAC no lo convierte en una configuración de proxy VPN compatible; use un punto de conexión de proxy HTTP directo y accesible. Para el tráfico público permitido, la lista de proxys HTTP proporciona candidatos de host y puerto, cuya accesibilidad debe comprobarse según la disposición de enrutamiento de la VPN.
El ajuste es orientativo. Las aplicaciones pueden ignorarlo, así que no puede garantizar que todas las conexiones usen el proxy. En un túnel dividido, las aplicaciones que siguen la recomendación también pueden intentar enviar solicitudes HTTP a destinos fuera de la VPN a través de ese proxy. Esas aplicaciones no pueden distinguir los dos grupos de rutas al aplicar la información del proxy. Compruebe la accesibilidad del intermediario según esa disposición de enrutamiento antes de considerar el ajuste completo.