我需要通过tcp代理隧道。在Java中,代理类型只是socks,direct或HTTP。因此,在下面的示例中,正在创建一个套接字,然后从socketAddress
创建代理对象,类型为socks。
如何指定代理是TCP?
SocketAddress addr = new InetSocketAddress("socks.example.com", 1080);
Proxy proxy = new Proxy(Proxy.Type.SOCKS, addr);
Socket socket = new Socket(proxy);
InetSocketAddress dest = new InetSocketAddress("server.example.org", 1234);
try {
socket.connect(dest);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return isValidated;
答案 0 :(得分:0)
您希望在设置为隧道到目标的端口上使用DIRECT代理到Localhost。例如,如果您的隧道设置为从4000(本地)到3389(在您确实要连接的主机上),则目标是Localhost,1000,代理类型Direct。见SSH tunneling via JSch