我有一些代碼來測試,如果代理服務器和端口工作正常,一些像這樣的代碼:如何使用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()方法會做這樣的事:
- 嘗試使用代理連接給定的URL。
- 如果無法使用代理服務器,它將直接連接URL 而無需代理服務器。
這就是問題所在,我的意思是測試如果代理工作,但如果代理無法連接這個代碼就不會停止。
我也嘗試使用InetAddress類的isReachable()方法,但我得到了相同的結果。
因此,如果代理不工作,我如何停止此連接,以測試代理是否可訪問?
通過新的java.net.Proxy(SocketAddress,Port)獲取新的代理對象。 – 2010-10-18 08:45:44