Android WebView: a proxy-felülírás alkalmazása navigáció előtt
Használja az AndroidX WebKit funkcióellenőrzését és befejezési visszahívását, és számoljon az egy folyamaton belüli WebView-k által megosztott felülírással.
A WebView proxy-felülírásától függő navigációt csak a felülírás befejezési figyelőjének lefutása után szabad elindítani. Ha beállítja, és azonnal betölt egy oldalt, a művelet versenyezni fog egy aszinkron frissítéssel.
- Ellenőrizze a
WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE)hívást. A támogatás a WebView implementációjától és az AndroidX WebKit könyvtártól, valamint az Android API-szintjétől függ. Határozza meg, mi történik, ha hiányzik; a csendes közvetlen csatlakozás tönkreteheti a funkciót. - Építse fel a kívánt
ProxyConfigobjektumot a dokumentált proxy-szabályaival, végpont-szintaxisával és megkerülési viselkedésével. Az engedélyezett nyilvános webhely-navigációhoz válasszon jelöltet az ingyenes proxyk listájáról, amelynek protokollja megfelel az adott WebView-implementáció által támogatott szabálynak. A PAC URL, a SOCKS URI és a csupasz gazdagép különböző bemenetek. - Hívja meg a
ProxyController.setProxyOverride()metódust ezzel a konfigurációval, egy végrehajtóval és egy befejezési figyelővel. A függő navigációt a befejezési útvonalról indítsa. - Amikor az ideiglenes felülírás véget ér, törölje a
clearProxyOverride()hívással, és kezelje annak aszinkron befejezését is.
Adjon ehhez az életciklushoz egyetlen felelőst. A beállítás az alkalmazásfolyamat összes WebView-jára vonatkozik; ismételt módosítása nem adhat két egyidejű nézetnek független kijáratot. A többi folyamatnak és HTTP-könyvtárnak saját útvonalai vannak.
Ez a támogatott felület elkerüli az Android-kiadások között változó privát proxyváltozás-figyelőktől való függést. Kiválasztja az útvonalválasztást; a proxy hitelesítő adatai és a tanúsítványokba vetett bizalom továbbra is a támogatott mechanizmusaikat használják. A kiválasztás utáni hitelesítési vagy TLS-hibát ebben a szakaszban kell diagnosztizálni.