Android WebView: pritaikykite tarpinio serverio perrašą prieš naršymą
Naudokite AndroidX WebKit funkcijos patikrą ir užbaigimo atgalinį iškvietimą bei atsižvelkite į perrašą, kurį WebView bendrina viename procese.
Naršymas, kuris priklauso nuo WebView tarpinio serverio perrašo, turėtų prasidėti po to, kai įvykdomas perrašo užbaigimo klausytuvas. Jį nustačius ir iškart įkėlus puslapį, operacija lenktyniauja su asinchroniniu atnaujinimu.
- Patikrinkite
WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Palaikymas priklauso nuo WebView diegimo ir AndroidX WebKit bibliotekos bei Android API lygio. Apibrėžkite, kas vyksta jo nesant; tylus tiesioginis prisijungimas gali panaikinti funkciją. - Sukurkite norimą
ProxyConfigpagal dokumentuotas tarpinio serverio taisykles, galinio taško sintaksę ir apėjimo elgseną. Leidžiamam viešų svetainių naršymui pasirinkite kandidatą iš nemokamų tarpinių serverių sąrašo, kurio protokolas atitinka taisyklę, kurią palaiko ta WebView diegimas. PAC URL, SOCKS URI ir plikas mazgas yra skirtingos įvestys. - Iškvieskite
ProxyController.setProxyOverride()su ta konfigūracija, vykdytoju ir užbaigimo klausytuvu. Priklausomą naršymą pradėkite užbaigimo kelyje. - Kai laikinas perrašas baigiasi, išvalykite jį naudodami
clearProxyOverride()ir taip pat apdorokite jo asinchroninį užbaigimą.
Suteikite šiam gyvavimo ciklui vieną savininką. Nustatymas taikomas visiems programos proceso WebView; pakartotinis keitimas negali suteikti dviem vienu metu esantiems vaizdams nepriklausomų išėjimų. Kiti procesai ir HTTP bibliotekos turi savo maršrutus.
Ši palaikoma sąsaja išvengia priklausomybės nuo privačių tarpinio serverio keitimo klausytuvų, kurie skiriasi tarp Android leidimų. Ji parenka maršrutizavimą; tarpinio serverio prisijungimo duomenys ir sertifikatų pasitikėjimas vis dar naudoja savo palaikomus mechanizmus. Autentifikavimo ar TLS gedimas po pasirinkimo turi būti diagnozuojamas tame etape.