Lokalna aplikacja może połączyć się z LittleProxy, a LittleProxy przekazuje jej żądanie przez firmowe proxy nadrzędne. Skonfiguruj nasłuch i proxy nadrzędne razem:

ChainedProxy parent = new ChainedProxyAdapter() {
    @Override
    public InetSocketAddress getChainedProxyAddress() {
        return new InetSocketAddress("proxy.office.example", 3128);
    }
};

ChainedProxyManager manager = (request, candidates) ->
    candidates.add(parent);

HttpProxyServer server = DefaultHttpProxyServer.bootstrap()
    .withAddress(new InetSocketAddress("127.0.0.1", 8080))
    .withChainProxyManager(manager)
    .start();

Ten fragment dla Java 8 lub nowszej używa publicznych interfejsów łańcuchowych LittleProxy. Aplikacja korzystająca z proxy łączy się z 127.0.0.1:8080; adapter zwraca proxy.office.example:3128 jako następne proxy.

Menedżer jest pytany o dostarczenie kandydatów nadrzędnych dla żądania. Ten przykład za każdym razem dodaje to samo proxy nadrzędne. Reguła routingu aplikacji może wybrać innego kandydata dla innego celu. W izolowanym teście publicznej witryny, w którym dozwolone jest użycie nieuwierzytelnionego publicznego proxy nadrzędnego, lista proxy HTTP może dostarczyć adres tego adaptera, bez skonfigurowanych danych uwierzytelniających proxy nadrzędnego.

Typy łańcuchowe znajdują się w org.littleshoot.proxy; DefaultHttpProxyServer jest w jego pakiecie impl.

Powiązane artykuły