Adicionar um proxy pai a um ouvinte LittleProxy
Vincule um ouvinte LittleProxy local com withAddress e forneça o proxy pai a montante através de um ChainedProxyManager.
Uma aplicação local pode conectar-se ao LittleProxy enquanto o LittleProxy encaminha sua requisição por um proxy pai corporativo. Configure o ouvinte e o proxy pai juntos:
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();
Este trecho para Java 8 ou superior usa as interfaces públicas de encadeamento do LittleProxy. A aplicação que usa o proxy conecta-se a 127.0.0.1:8080; o adaptador devolve proxy.office.example:3128 como próximo proxy.
O gestor é consultado para fornecer candidatos a montante para uma requisição. Este exemplo adiciona o mesmo proxy pai a cada vez. A regra de roteamento de uma aplicação pode escolher outro candidato para um destino diferente. Num teste isolado de site público em que é permitido usar um proxy pai público sem autenticação, a lista de proxies HTTP pode fornecer o endereço desse adaptador, sem credenciais de proxy pai configuradas.
Os tipos de encadeamento estão em org.littleshoot.proxy; DefaultHttpProxyServer está no seu pacote impl.