在Java中测试任何类型(网络)代理的有效性

在Java中测试任何类型(网络)代理的有效性,java,proxy,network-protocols,Java,Proxy,Network Protocols,我在这里检查了与代理相关的标准JavaAPI:它似乎非常有限 据我所知,代理支持的协议比Proxy.Type()中列出的协议多得多,而且有些代理受登录/密码保护:我在java.net.Proxy中没有看到任何与身份验证相关的方法 我的主要用例是检查给定代理是否可访问。有没有一种方法可以在JDK中或通过第三方Java库实现这一点 提前感谢,, Rolf我建议连接到代理: boolean isReachable = false; try { URL url = new URL( "http:/

我在这里检查了与代理相关的标准JavaAPI:它似乎非常有限

据我所知,代理支持的协议比Proxy.Type()中列出的协议多得多,而且有些代理受登录/密码保护:我在java.net.Proxy中没有看到任何与身份验证相关的方法

我的主要用例是检查给定代理是否可访问。有没有一种方法可以在JDK中或通过第三方Java库实现这一点

提前感谢,,
Rolf

我建议连接到代理:

boolean isReachable = false;
try {
   URL url = new URL( "http://" + proxyHost + ":" + proxyPort );
   url.openStream().close();
   isReachable = true;
}
catch( Throwable t ){
}

我最终使用了org.apache.http.impl.client.DefaultHttpClient。这不是一个100%令人满意的解决方案,但这只是一个开始。

作为补充说明,我们使用的是Install4J,但我没有在他们的Java API中看到任何与代理相关的验证方法。您好,谢谢您的回答。那么受密码保护的代理呢?并不是所有的代理都可以通过这种方式访问。