Android WebView: aplica la substitució del proxy abans de la navegació
Utilitza la comprovació de funcionalitat i la devolució de finalització d'AndroidX WebKit, i tingues en compte la substitució que comparteixen les WebView en un mateix procés.
La navegació que depèn d'una substitució de proxy de la WebView ha de començar després que s'executi l'oient de finalització de la substitució. Establir-la i carregar una pàgina immediatament deixa l'operació competint amb una actualització asíncrona.
- Comprova
WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). El suport depèn de la implementació de la WebView i de la biblioteca AndroidX WebKit, així com del nivell d'API d'Android. Defineix què passa quan no hi és; passar directament en silenci pot anul·lar la funcionalitat. - Construeix la
ProxyConfigdesitjada amb les seves regles de proxy documentades, la sintaxi del punt final i el comportament d'omissió. Per a la navegació permesa a llocs públics, tria un candidat de la llista de proxys gratuïts el protocol del qual coincideixi amb una regla que admeti aquella implementació de la WebView. Una URL PAC, un URI SOCKS i un amfitrió nu són entrades diferents. - Crida
ProxyController.setProxyOverride()amb aquesta configuració, un executor i un oient de finalització. Inicia la navegació dependent des del camí de finalització. - Quan acabi la substitució temporal, esborra-la amb
clearProxyOverride()i gestiona també la seva finalització asíncrona.
Dona a aquest cicle de vida un sol propietari. El paràmetre s'aplica a les WebView de tot el procés de l'aplicació; canviar-lo repetidament no pot donar sortides independents a dues vistes simultànies. Els altres processos i les biblioteques HTTP tenen les seves pròpies rutes.
Aquesta interfície compatible evita dependre d'oients privats de canvi de proxy que varien entre versions d'Android. Selecciona l'encaminament; les credencials del proxy i la confiança en els certificats encara utilitzen els seus mecanismes compatibles. Un error d'autenticació o de TLS després de la selecció s'ha de diagnosticar en aquesta etapa.