Navigácia, ktorá závisí od prepísania proxy v WebView, by mala začať po spustení poslucháča dokončenia prepísania. Nastavenie a okamžité načítanie stránky necháva operáciu pretekať s asynchrónnou aktualizáciou.

  1. Skontrolujte WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Podpora závisí od implementácie WebView a knižnice AndroidX WebKit, ako aj od úrovne API Androidu. Definujte, čo sa stane, keď chýba; tiché priame pripojenie môže funkciu znegovať.
  2. Vytvorte zamýšľaný ProxyConfig s jeho dokumentovanými pravidlami proxy, syntaxou koncového bodu a správaním obchádzania. Pre povolenú navigáciu na verejné weby vyberte kandidáta zo zoznamu bezplatných proxy, ktorého protokol zodpovedá pravidlu podporovanému touto implementáciou WebView. PAC URL, SOCKS URI a holý hostiteľ sú rôzne vstupy.
  3. Zavolajte ProxyController.setProxyOverride() s touto konfiguráciou, exekútorom a poslucháčom dokončenia. Závislú navigáciu spustite z cesty dokončenia.
  4. Keď dočasné prepísanie skončí, vymažte ho pomocou clearProxyOverride() a ošetrite aj jeho asynchrónne dokončenie.

Dajte tomuto životnému cyklu jedného vlastníka. Nastavenie platí pre WebView v celom procese aplikácie; opakovaná zmena nemôže dvom súčasným zobrazeniam dať nezávislé východy. Iné procesy a knižnice HTTP majú svoje vlastné trasy.

Toto podporované rozhranie sa vyhýba závislosti od súkromných poslucháčov zmeny proxy, ktoré sa medzi vydaniami Androidu líšia. Vyberá smerovanie; prihlasovacie údaje proxy a dôvera k certifikátom stále používajú svoje podporované mechanizmy. Zlyhanie overenia alebo TLS po výbere treba diagnostikovať v tejto fáze.

Súvisiace články