通过其他代理从代理连接到Internet

时间:2015-07-12 04:59:23

标签: java proxy http-proxy

我正在构建一个简单的代理服务器。它没有直接连接到互联网,而是通过其他代理服务器使用某种算法动态选择最合适的服务器。该代理服务器连接到Internet。这是一项要求。 所以它看起来像这样:

Client ---> My Main Proxy ---> Proxy1 ----> Internet

Client ---> My Main Proxy ---> Proxy2 ----> Internet

Client ---> My Main Proxy ---> Proxy3 ----> Internet

我知道如何构建My Main Proxy的代理。但是,如何将My Main ProxyProxyX联系起来? 或者更确切地说,我如何通过My Main ProxyProxyX连接到互联网(并将结果返回到Client)?

1 个答案:

答案 0 :(得分:3)

这取决于代理的类型(套接字或HTTP),但SocketURL类都有设置代理服务器的方法(将它们设置为通过代理创建连接)。

例如:

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxy.host", 8080));
HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection(proxy);

对于TCP套接字连接

Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("proxy.host", 80));
Socket socket = new Socket(proxy);
InetSocketAddress socketAddress = new InetSocketAddress(address, port);
socket.connect(socketAddress, 1000);