Android WebView: uporabite prepis proxyja pred navigacijo
Uporabite preverjanje funkcije in povratni klic dokončanja AndroidX WebKit ter upoštevajte prepis, ki si ga WebView delijo v enem procesu.
Navigacija, ki je odvisna od prepisa proxyja v WebView, se mora začeti po tem, ko se izvede poslušalec dokončanja prepisa. Če ga nastavite in takoj naložite stran, operacija tekmuje z asinhrono posodobitvijo.
- Preverite
WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Podpora je odvisna od izvedbe WebView in knjižnice AndroidX WebKit ter od ravni API v Androidu. Določite, kaj se zgodi, ko ga ni; tiho neposredno povezovanje lahko funkcijo izniči. - Zgradite želeni
ProxyConfigz njegovimi dokumentiranimi pravili proxyja, sintakso končne točke in vedenjem obhoda. Za dovoljeno navigacijo na javna spletna mesta izberite kandidata s seznama brezplačnih proxyjev, katerega protokol se ujema s pravilom, ki ga ta izvedba WebView podpira. URL PAC, URI SOCKS in goli gostitelj so različni vhodi. - Pokličite
ProxyController.setProxyOverride()s to konfiguracijo, izvajalcem in poslušalcem dokončanja. Odvisno navigacijo začnite iz poti dokončanja. - Ko se začasni prepis konča, ga počistite z
clearProxyOverride()in obdelajte tudi njegovo asinhrono dokončanje.
Temu življenjskemu ciklu dajte enega lastnika. Nastavitev velja za WebView v celotnem procesu aplikacije; ponavljajoče spreminjanje ne more dvema hkratnima pogledoma dati neodvisnih izhodov. Drugi procesi in knjižnice HTTP imajo svoje poti.
Ta podprti vmesnik se izogne odvisnosti od zasebnih poslušalcev spremembe proxyja, ki se med izdajami Androida razlikujejo. Izbere usmerjanje; poverilnice proxyja in zaupanje v potrdila še vedno uporabljajo svoje podprte mehanizme. Napako pri preverjanju pristnosti ali TLS po izbiri je treba diagnosticirati v tej fazi.