Java SOCKS 代理

Posted

技术标签:

【中文标题】Java SOCKS 代理【英文标题】:Java SOCKS proxy 【发布时间】:2009-06-04 03:55:33 【问题描述】:

socksProxyHost 属性是否需要 IP 地址?

System.setProperty("socksProxyHost", preferences.getProxyHost() );

如上设置,如果我提供 127.0.0.1,我会连接到本地主机上的代理。但是如果我提供本地主机,它不会连接它。我在局域网上没有其他机器可以使用它。那么有人知道它是否适用于主机名,还是我必须解析主机并传入 IP?

【问题讨论】:

可能是一个愚蠢的问题,但您是否确保您的机器在 java 之外正确解析 localhost?在 CLI 上? 【参考方案1】:

系统属性只是一张愚蠢的地图。当值发生变化时,不会通知观察者。通常只读取一次值并将其存储在private static final 中,而不是每次需要时都查找该值。

可能在加载您的应用程序时相关代码已初始化,因此该值已被读取。快速浏览 API 文档会发现一个很有前途的方法来调用来更改默认代理:ProxySelector.setDefault

【讨论】:

以上是关于Java SOCKS 代理的主要内容,如果未能解决你的问题,请参考以下文章

带有 Socks4 代理的 Java Socket 更改为 Socks5

Java Socks 代理套接字错误

求教如何为Java NIO设置Socks代理

在 Java 中使用 HTTP 代理作为 SOCKS

连接到 SOCKS5 代理以在 Java 中执行 FTP/S

如何在 Java JDK HttpClient 中使用 socks 代理