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.

Artigos relacionados