繁体   English   中英

如何使用java测试代理互联网连接?

[英]how to test proxy internet connection using java?

我有一些代码来测试代理服务器和端口是否正常工作,一些代码如下:

System.getProperties().put("proxySet", "true");
System.getProperties().put("https.proxyHost", "localhost");
System.getProperties().put("https.proxyPort", "1234");
System.getProperties().put("http.proxyHost", "localhost");
System.getProperties().put("http.proxyPort", "1234");
HttpURLConnection conn = (HttpURLConnection) new URL("https://www.google.com").openConnection();
conn.getContent();
conn.disconnect();

似乎openConnection()方法会做这样的事情:

  1. 尝试使用代理连接给定的URL。
  2. 如果它无法使用代理,它将直接连接URL 而无需代理

这是问题,我的意思是测试代理是否正常工作,但如果代理无法连接,此代码将不会停止。

我也尝试使用InetAddress类的isReachable()方法,但我得到了相同的结果。

所以,如果代理不起作用,我怎么能停止这种连接,以测试代理是否可以访问?

System.getProperties().put("proxySet", "true");

那个人什么都不做。 这是一个都市神话。 它是已经废弃的1997 HotJava bean的一部分,并从那里泄漏成各种书籍。 它从未成为任何JDK的一部分。 尝试在需要的情况下将其设置为false并亲自查看。

对不起伙计们,我找到了办法。 我使用java.net.Proxy类通过代理打开连接。 它易于使用,工作正常。 请参阅Java Networking and Proxies

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM