Android WebView: навигация алдында проксиді қайта анықтауды қолданыңыз
AndroidX WebKit мүмкіндігін тексеруді және аяқталу callback-ін пайдаланыңыз, бір процестегі WebView ортақ қайта анықтауды ескеріңіз.
WebView проксиін қайта анықтауға тәуелді навигация қайта анықтаудың аяқталу тыңдаушысы іске қосылғаннан кейін басталуы керек. Оны орнатып, бетті бірден жүктеу операцияны асинхронды жаңартумен бәсекеге қояды.
WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE)тексеріңіз. Қолдау WebView іске асырылуына және AndroidX WebKit кітапханасына, сондай-ақ Android API деңгейіне байланысты. Ол жоқ кезде не болатынын анықтаңыз; үнсіз тікелей қосылу мүмкіндікті жоя алады.- Мақсатты
ProxyConfigқұжатталған прокси ережелерімен, соңғы нүкте синтаксисімен және айналып өту әрекетімен құрыңыз. Рұқсат етілген жалпыға ортақ сайттарға навигация үшін протоколы сол WebView іске асырылуы қолдайтын ережеге сәйкес келетін үміткерді тегін проксилер тізімінен таңдаңыз. PAC URL, SOCKS URI және жалаң хост әртүрлі кірістер. ProxyController.setProxyOverride()әдісін сол конфигурациямен, орындаушымен және аяқталу тыңдаушысымен шақырыңыз. Тәуелді навигацияны аяқталу жолынан бастаңыз.- Уақытша қайта анықтау аяқталғанда, оны
clearProxyOverride()арқылы тазалаңыз және оның асинхронды аяқталуын да өңдеңіз.
Бұл өмірлік циклге бір иесін беріңіз. Параметр қолданба процесіндегі барлық WebView-ге қолданылады; оны қайта-қайта өзгерту екі бір мезгілдегі көрініске тәуелсіз шығу жолдарын бере алмайды. Басқа процестер мен HTTP кітапханаларының өз маршруттары бар.
Бұл қолдау көрсетілетін интерфейс Android шығарылымдары арасында өзгеретін жеке прокси өзгерісінің тыңдаушыларына тәуелділіктен аулақ болады. Ол маршруттауды таңдайды; прокси тіркелгі деректері мен сертификат сенімі әлі де өз қолдау көрсетілетін механизмдерін пайдаланады. Таңдаудан кейінгі аутентификация немесе TLS қатесі сол кезеңде диагностикалануы керек.