为什么我的SOCKS代理代码会抛出SocketException: Malformed reply from SOCKS server?我尝试在URLConnection或其他中进行设置,但这不起作用。唯一有效的方法-chilkat lib,但这是商业用途。那么,例如,我如何通过ASOCKS代理发出http请求?也许存在一些免费的库吗?

例如,该代码:

    SocketAddress addr = new InetSocketAddress(proxy_ip, proxy_port);
    Proxy proxy = new Proxy(Proxy.Type.SOCKS, addr);
    Socket socket = new Socket(proxy);
    InetSocketAddress dest = new InetSocketAddress("google.com", 80);
    try {
        socket.connect(dest);
    } catch (IOException ex) {
        Logger.getLogger(CheckProxy.class.getName()).log(Level.SEVERE, null, ex);
    }

引发异常:
java.net.SocketException: Malformed reply from SOCKS server
at java.net.SocksSocketImpl.readSocksReply(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at proxychecker.CheckProxy.SocksCheck(CheckProxy.java:86)

其中第86行是“socket.connect(dest);”

最佳答案

SocketException: Malformed reply from SOCKS server

这表明您根本没有SOCKS代理。可能是HTTP代理。

并请注意,您问错了问题。您的代码是正确的,这是您的错。

关于java - 为什么我的SOCKS代理代码会抛出SocketException : Malformed reply from SOCKS server?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27215053/

10-11 21:25