У меня есть часть кода для подключения к серверу Socket, и он отлично работает.
Socket socket = new Socket();
socket.connect(new InetSocketAddress(address, port));
Теперь я хочу подключиться через HTTP-прокси, что мне делать?
Я попробовал это и не смог
SocketAddress proxyAddr = new InetSocketAddress(proxyHost, proxyPort);
Proxy proxy = new Proxy(Proxy.Type.SOCKS, addr);
Socket socket = new Socket(proxy);
socket.connect(new InetSocketAddress(address, port));
этот пост предполагает, что я должен использовать Jakarta Commons HttpClient, но как использовать его для подключения Socket-сервера через HTTP-прокси?
ОБНОВЛЕНО: Я использовал SOCKS proxy, и он не работает, если я использую HTTP-прокси:
SocketAddress proxyAddr = new InetSocketAddress(proxyHost, proxyPort);
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
Socket socket = new Socket(proxy);
socket.connect(new InetSocketAddress(address, port));
и он выкинет исключение IllegalArgumentException
java.lang.IllegalArgumentException: Proxy is null or invalid type
at java.net.Socket.<init>(Socket.java:88)