Добавление родительского прокси в слушатель LittleProxy
Привяжите локальный слушатель LittleProxy через withAddress и задайте его вышестоящий родительский прокси через ChainedProxyManager.
Локальное приложение может подключиться к 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.