Локальний застосунок може підключитися до LittleProxy, а LittleProxy передає його запит через корпоративний батьківський проксі. Налаштуйте слухач і батьківський проксі разом:

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();

Цей фрагмент для Java 8 або новішої версії використовує публічні інтерфейси ланцюжків LittleProxy. Застосунок, що використовує проксі, підключається до 127.0.0.1:8080; адаптер повертає proxy.office.example:3128 як наступний проксі.

Менеджер опитується, щоб надати висхідні кандидати для запиту. У цьому прикладі щоразу додається той самий батьківський проксі. Правило маршрутизації застосунку може вибрати іншого кандидата для іншого призначення. В ізольованому тесті публічного сайту, де дозволено використовувати публічний батьківський проксі без автентифікації, список HTTP-проксі може надати адресу такого адаптера, а облікові дані батьківського проксі не налаштовуються.

Типи ланцюжків містяться в org.littleshoot.proxy; DefaultHttpProxyServer — у його пакеті impl.

Схожі статті