本地应用可以连接 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 包中。

相关文章