【问题标题】:Test validity of any kind of (network) proxy in Java在 Java 中测试任何类型(网络)代理的有效性
【发布时间】:2013-01-11 06:23:04
【问题描述】:

我在这里查看了与代理相关的标准 Java API:http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html,它似乎非常有限。

据我所知,代理支持的协议比 Proxy.Type (http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Proxy.Type.html) 中列出的协议多得多,并且一些代理受登录名/密码保护:我没有看到任何与身份验证相关的方法java.net.Proxy.

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

提前致谢, 罗尔夫

【问题讨论】:

  • 附带说明,我们使用的是 Install4J,但我没有看到他们的 Java API 中公开了任何与代理相关的验证方法。

标签: java proxy network-protocols


【解决方案1】:

我建议连接代理:

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

【讨论】:

  • 您好,感谢您的回答。受密码保护的代理呢?
  • 并非所有代理都可以通过这种方式访问​​ AFAIK。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 2019-05-10
    • 2010-12-02
    相关资源
    最近更新 更多