加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 为什么我的SOCKS代理代码抛出SocketException:来自SOCK

发布时间:2020-12-15 04:23:54 所属栏目:Java 来源:网络整理
导读:为什么我的SOCKS代理代码抛出SocketException:来自SOCKS服务器的格式错误的回复?我试图在URLConnection或其他设置,但这不起作用.唯一有用的东西 – chilkat lib,但它是商业的.那么,我如何通过ASOCKS代理发出http请求呢?也许存在一些免费的lib? 例如,该代
为什么我的SOCKS代理代码抛出SocketException:来自SOCKS服务器的格式错误的回复?我试图在URLConnection或其他设置,但这不起作用.唯一有用的东西 – chilkat lib,但它是商业的.那么,我如何通过ASOCKS代理发出http请求呢?也许存在一些免费的lib?

例如,该代码:

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代理.

请注意,您提出了错误的问题.你的代码是正确的,这是你的错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读