Android WebView: použijte přepsání proxy před navigací
Použijte kontrolu funkce a dokončovací callback AndroidX WebKit a počítejte s přepsáním sdíleným WebView v jednom procesu.
Navigace, která závisí na přepsání proxy v WebView, by měla začít poté, co se spustí posluchač dokončení přepsání. Nastavit ho a hned načíst stránku znamená, že operace závodí s asynchronní aktualizací.
- Zkontrolujte
WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Podpora závisí na implementaci WebView a knihovně AndroidX WebKit i na úrovni API Androidu. Definujte, co se stane, když chybí; tiché přímé připojení může funkci zmařit. - Sestavte zamýšlený
ProxyConfigpodle jeho dokumentovaných pravidel proxy, syntaxe koncového bodu a chování obejití. Pro povolenou navigaci na veřejné weby vyberte kandidáta ze seznamu bezplatných proxy, jehož protokol odpovídá pravidlu, které tato implementace WebView podporuje. PAC URL, SOCKS URI a holý hostitel jsou různé vstupy. - Zavolejte
ProxyController.setProxyOverride()s touto konfigurací, exekutorem a posluchačem dokončení. Závislou navigaci spusťte z cesty dokončení. - Když dočasné přepsání skončí, vymažte ho pomocí
clearProxyOverride()a ošetřete i jeho asynchronní dokončení.
Dejte tomuto životnímu cyklu jednoho vlastníka. Nastavení platí pro WebView v celém procesu aplikace; opakovaná změna nemůže dát dvěma současným zobrazením nezávislé východy. Jiné procesy a knihovny HTTP mají své vlastní trasy.
Toto podporované rozhraní se vyhýbá závislosti na soukromých posluchačích změny proxy, které se mezi verzemi Androidu liší. Vyberá směrování; přihlašovací údaje proxy a důvěra v certifikáty stále používají své podporované mechanismy. Selhání ověřování nebo TLS po výběru je třeba diagnostikovat v této fázi.