我有一个简单的方法可以从互联网网址检索原始HTML,但每次运行它时,我都会java.net.SocketTimeoutException
:
public static String getURL(String f) throws Exception{
String k="", result="";
URL url = new URL(f);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(10000);
conn.setRequestMethod("GET");
conn.connect();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((k = rd.readLine()) != null) {
result += k + "\n";
}
conn.disconnect();
return result;
}
这段相同的代码很久以前工作得很好,我只是复制粘贴以重复使用这种方法,但似乎某些东西已经改变了,或者可能还有别的东西。
我有双重检查Java / Javaw是允许在防火墙例外,但奇怪的是,所有应用程序的时候尝试上网,我在防火墙得到一个提示,但有这个没有任何事情发生。似乎程序从不试图在方法中超时时实际发送请求。
有人可以提出可能存在的问题>?