OkHttp zahtjev nema općenito promjenjivo polje proxyja. Odaberite klijenta s namjeravanim putem prije stvaranja njegovog poziva.

Kada ostatak konfiguracije treba ostati 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 s liste HTTP proxyja mogu popuniti ovu adresu socketa za dopušteni put 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 s originalnim klijentom. To ne znači da se socket uspostavljen kroz jedan proxy može preimenovati u drugi put. Podobnost veze i dalje zavisi od konfiguracije puta i adrese.

Za ponavljani rad zadržite ograničen skup klijenata s 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 ikada 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 razini aplikacije umjesto da svaki izvedeni klijent tretirate kao izolirani mrežni stog.

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

Povezani članci