WebView-ի պրոքսիի փոխարինումից կախված նավիգացիան պետք է սկսվի այն բանից հետո, երբ աշխատի փոխարինման ավարտման լսիչը։ Այն սահմանելը և անմիջապես էջ բեռնելը թողնում է գործողությունը ասինխրոն թարմացման հետ մրցակցության մեջ։

  1. Ստուգեք WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE)-ը։ Աջակցությունը կախված է WebView-ի իրականացումից և AndroidX WebKit գրադարանից, ինչպես նաև Android-ի API մակարդակից։ Սահմանեք, թե ինչ է տեղի ունենում դրա բացակայության դեպքում. լուռ ուղիղ անցումը կարող է զրոյացնել հատկությունը։
  2. Կառուցեք նախատեսված ProxyConfig-ը՝ օգտագործելով դրա փաստաթղթավորված պրոքսիի կանոնները, վերջնակետի շարահյուսությունը և շրջանցման վարքը։ Թույլատրված հանրային կայքերի նավիգացիայի համար ընտրեք թեկնածու անվճար պրոքսիների ցանկից, որի արձանագրությունը համընկնում է այդ WebView-ի իրականացման կողմից աջակցվող կանոնի հետ։ PAC URL-ը, SOCKS URI-ն և մերկ հոսթը տարբեր մուտքեր են։
  3. Կանչեք ProxyController.setProxyOverride()-ը այդ կոնֆիգուրացիայով, կատարողով և ավարտման լսիչով։ Կախյալ նավիգացիան սկսեք ավարտման ուղուց։
  4. Երբ ժամանակավոր փոխարինումն ավարտվի, մաքրեք այն clearProxyOverride()-ով և կարգավորեք նաև դրա ասինխրոն ավարտը։

Այս կյանքի ցիկլին տվեք մեկ սեփականատեր։ Կարգավորումը վերաբերում է հավելվածի պրոցեսի բոլոր WebView-ներին. կրկնվող փոփոխությունը չի կարող երկու միաժամանակյա տեսքերի անկախ ելքեր տալ։ Այլ պրոցեսներն ու HTTP գրադարաններն ունեն իրենց երթուղիները։

Այս աջակցվող ինտերֆեյսը խուսափում է Android թողարկումների միջև տարբերվող մասնավոր պրոքսի-փոփոխության լսիչներից կախվածությունից։ Այն ընտրում է երթուղավորումը. պրոքսիի հավատարմագրերն ու սերտիֆիկատների վստահությունը դեռևս օգտագործում են իրենց աջակցվող մեխանիզմները։ Ընտրությունից հետո նույնականացման կամ TLS-ի ձախողումը պետք է ախտորոշվի այդ փուլում։

Առնչվող հոդվածներ