OkHttp zahtjev nema općenito promjenljivo polje proxyja. Odaberite klijenta sa željenom rutom prije stvaranja njegovog poziva.

Kada ostatak konfiguracije treba da ostane dijeljen, izvedite usmjerenog klijenta iz postojećeg klijenta:

OkHttpClient routed = baseClient.newBuilder()
    .proxy(new Proxy(Proxy.Type.HTTP,
        new InetSocketAddress("203.0.113.10", 8080)))
    .build();

Krajnja točka je samo ilustracija. Javne HTTP krajnje točke sa liste HTTP proxyja mogu popuniti ovu adresu soketa za dozvoljenu rutu javne usluge, pod uslovom da politika osnovnog klijenta ne daje nikakve proxy akreditive novoj krajnjoj točki. OkHttp dokumentuje da newBuilder dijeli resurse pula veza i niti sa izvornim klijentom. To ne znači da se soket uspostavljen kroz jedan proxy može preimenovati u drugu rutu. Podobnost veze i dalje zavisi od konfiguracije rute i adrese.

Za ponavljan rad zadržite ograničen skup klijenata sa ključem prema politici usmjeravanja koja vam je zaista potrebna. Izbjegavajte neograničenu mapu čiji ključevi sadrže svaki privremeni račun ili varijaciju proxyja ikad viđenu.

Dijeljenje resursa utječe i na zaustavljanje. Zatvaranje dijeljenog keša ili gašenje dijeljenog dispečera može utjecati na druge izvedene klijente koji koriste te resurse. Dajte vlasništvu nad resursima jasan životni vijek na nivou aplikacije umjesto da svaki izvedeni klijent tretirate kao izolovani mrežni stog.

Na kraju, uključite identitet odabranog proxyja u vlastite metapodatke poziva. Globalna varijabla „posljednji odabrani proxy” ne može prepoznati rutu nekoliko istovremenih zahtjeva.

Povezani članci