Android WebView: gunakan penggantian proksi sebelum navigasi
Gunakan semakan ciri dan callback penyiapan AndroidX WebKit, dan ambil kira penggantian yang dikongsi oleh WebView dalam satu proses.
Navigasi yang bergantung pada penggantian proksi WebView harus bermula selepas pendengar penyiapan penggantian dijalankan. Menetapkannya dan memuatkan halaman serta-merta menyebabkan operasi bersaing dengan kemas kini tak segerak.
- Semak
WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Sokongan bergantung pada pelaksanaan WebView dan pustaka AndroidX WebKit serta tahap API Android. Tentukan apa yang berlaku apabila ia tiada; pergi terus secara senyap boleh menggagalkan ciri ini. - Bina
ProxyConfigyang dimaksudkan dengan peraturan proksi yang didokumenkan, sintaks titik akhir dan tingkah laku pintasan. Untuk navigasi tapak awam yang dibenarkan, pilih calon daripada senarai proksi percuma yang protokolnya sepadan dengan peraturan yang disokong oleh pelaksanaan WebView itu. URL PAC, URI SOCKS dan hos kosong ialah input yang berbeza. - Panggil
ProxyController.setProxyOverride()dengan konfigurasi itu, pelaksana dan pendengar penyiapan. Mulakan navigasi bergantung daripada laluan penyiapan. - Apabila penggantian sementara tamat, kosongkannya dengan
clearProxyOverride()dan tangani juga penyiapan tak segeraknya.
Berikan kitaran hayat itu satu pemilik. Tetapan ini terpakai kepada WebView di seluruh proses aplikasi; menukarnya berulang kali tidak boleh memberikan dua paparan serentak jalan keluar yang berasingan. Proses lain dan pustaka HTTP mempunyai laluan mereka sendiri.
Antara muka yang disokong ini mengelakkan pergantungan pada pendengar perubahan proksi peribadi yang berbeza antara keluaran Android. Ia memilih penghalaan; kelayakan proksi dan kepercayaan sijil masih menggunakan mekanisme yang disokong. Kegagalan pengesahan atau TLS selepas pemilihan perlu didiagnosis pada peringkat itu.