Android WebView: d'Proxy-Iwwerschreiwung virun der Navigatioun uwenden
Benotzt d'Funktiounspréifung an de Vervollstännegungs-Callback vun AndroidX WebKit, a berécksichtegt d'Iwwerschreiwung, déi sech WebViewe an engem Prozess deelen.
Navigatioun, déi vun enger WebView-Proxy-Iwwerschreiwung ofhänkt, soll ufänken, nodeems de Vervollstännegungs-Lauschterer vun der Iwwerschreiwung gelaf ass. Se setzen an direkt eng Säit lueden, léisst d'Operatioun mat enger asynchroner Aktualiséierung konkurréieren.
- Préift
WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). D'Ënnerstëtzung hänkt vun der WebView-Implementéierung an der AndroidX WebKit-Bibliothéik souwéi vum API-Niveau vun Android of. Definéiert, wat geschitt, wann se feelt; roueg direkt weidergoen kann d'Funktioun zerstéieren. - Baut den ugedachte
ProxyConfigmat senge dokumentéierte Proxy-Reegelen, der Endpunkt-Syntax an dem Bypass-Verhalen. Fir erlaabt Navigatioun op ëffentlech Säiten, wielt e Kandidat aus der Lëscht vu gratis Proxien, deem säi Protokoll mat enger Reegel iwwereneenstemmt, déi déi WebView-Implementéierung ënnerstëtzt. Eng PAC-URL, eng SOCKS-URI an e bloe Host sinn ënnerschiddlech Inputen. - Rufft
ProxyController.setProxyOverride()mat där Konfiguratioun, engem Executor an engem Vervollstännegungs-Lauschterer op. Fänkt d'ofhängeg Navigatioun aus dem Vervollstännegungspad un. - Wann déi temporär Iwwerschreiwung ophält, läscht se mat
clearProxyOverride()a behandelt och hir asynchron Vervollstännegung.
Gitt dësem Liewenszyklus een eenzegen Eegentemer. D'Astellunge gëlle fir WebViewe am ganze Prozess vun der Applikatioun; se widderholl z'änneren kann zwee gläichzäiteg Vueen keng onofhängeg Ausgäng ginn. Aner Prozesser an HTTP-Bibliothéike hunn hir eege Weeër.
Dës ënnerstëtzte Schnëttstell vermeit d'Ofhängegkeet vu private Proxy-Ännerungs-Lauschterer, déi tëscht Android-Versiounen ënnerscheeden. Se wielt d'Routing; Proxy-Identitéiten an Zertifikatsvertrauen benotze weider hir ënnerstëtzte Mechanismen. En Authentifikatiouns- oder TLS-Feeler no der Auswiel muss an där Etapp diagnostizéiert ginn.