如何通过 HTTP 代理连接套接字服务器
2022-09-02 22:25:56
我有一段代码可以连接到套接字服务器,它工作正常。
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,但是如何使用它通过HTTP代理连接Socket服务器?
更新:我使用了SOCKS代理,如果我使用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));
它会抛出一个非法的争论异常
java.lang.IllegalArgumentException: Proxy is null or invalid type
at java.net.Socket.<init>(Socket.java:88)