java.net.SocketException:来自SOCKS服务器的格式错误的回复

问题描述 投票:2回答:3

我尝试用套接字创建SSLSocket,但我得到了这个例外

 SocketAddress proxyAddr = new InetSocketAddress(proxyHost, proxyPort);
Socket underlying = new Socket(new Proxy(Proxy.Type.SOCKS, proxyAddr));
underlying.connect(new InetSocketAddress(host, port));
SSLSocket socket = (SSLSocket) factory.createSocket(underlying,proxyHost,proxyPort,true);

例外:java.net.SocketException:来自SOCKS服务器的格式错误的回复

谢谢您的帮助

java sockets proxy socks
3个回答
0
投票

您已将应用程序配置为使用SOCKS代理,但您指定为proxyAddr的host:port上的实体不是SOCKS服务器。


0
投票

解决这个问题:

1)在Internet Explorer中打开工具 - > Internet选项(或者,在Windows 7中打开控制面板网络设置)

2)打开“连接”选项卡

3)单击LAN设置

4)如果启用了“使用代理服务器”,请单击“高级”并禁用“为所有协议使用相同的代理服务器”


0
投票

这只是控制Internet Explorer的功能。它与Java无关。 OP的代码是明确使用SOCKS代理,或尝试。不依赖于任何控制面板设置

在Windows上错误.... Internet选项控制Windows使用Proxyserver的方式,Internet Explorer只是一个使用“Windows标准配置”的应用程序Standardconfig中的Java使用“Systemstandard”进行连接,因此如果您不指定Proxyserver通过Java这种解决方法将有所帮助,但它不是一个“解决方案”。

© www.soinside.com 2019 - 2024. All rights reserved.