Naudokite OkHttp išteklius iš naujo rinkdamiesi kitą proxy
Prieš kurdami užklausą pasirinkite proxy sukonfigūruotą OkHttp klientą ir supraskite, ką bendrina newBuilder.
OkHttp užklausa neturi bendro kintamo proxy lauko. Prieš kurdami jos užklausą pasirinkite klientą su numatytu maršrutu.
Kai likusi konfigūracija turėtų likti bendra, išveskite maršrutizuotą klientą iš esamo kliento:
OkHttpClient routed = baseClient.newBuilder()
.proxy(new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("203.0.113.10", 8080)))
.build();Galutinis taškas yra tik iliustracija. Vieši HTTP galutiniai taškai iš HTTP proxy sąrašo gali užpildyti šį lizdo adresą leidžiamam viešosios paslaugos maršrutui, jei pagrindinio kliento politika naujam galutiniam taškui neteikia jokių proxy prisijungimo duomenų. OkHttp dokumentuoja, kad newBuilder bendrina jungčių telkinio ir gijų išteklius su pradiniu klientu. Tai nereiškia, kad lizdas, sukurtas per vieną proxy, gali būti pervadintas kitu maršrutu. Jungties tinkamumas vis dar priklauso nuo maršruto ir adreso konfigūracijos.
Pakartotiniam darbui palaikykite ribotą klientų rinkinį, raktuotą pagal jums tikrai reikalingą maršrutizavimo politiką. Venkite neribotos lentelės, kurios raktai apima visas kada nors pastebėtas laikinąsias paskyras ar proxy variantus.
Išteklių bendrinimas taip pat veikia išjungimą. Bendro podėlio uždarymas ar bendro siuntėjo išjungimas gali paveikti kitus išvestinius klientus, naudojančius tuos išteklius. Suteikite išteklių nuosavybei aiškų programos lygio gyvavimo laiką, o ne traktuokite kiekvieną išvestinį klientą kaip atskirą tinklo krūvą.
Galiausiai įtraukite pasirinkto proxy tapatybę į paties užklausos metaduomenis. Visuotinis kintamasis „paskutinis pasirinktas proxy“ negali nustatyti kelių vienalaikių užklausų maršruto.