java方法不工作,每次抛出socketTimeoutException

java方法不工作,每次抛出socketTimeoutException,java,sockets,urlconnection,Java,Sockets,Urlconnection,我有一个从internet URL检索原始HTML的简单方法,但每次运行它时,我都会得到java.net.SocketTimeoutException: 这段代码很早以前就可以正常工作了,我只是复制粘贴以重用此方法,但随着时间的推移,似乎有些东西发生了变化,或者可能还有其他东西。 我仔细检查了Java/Javaw是否允许在防火墙中出现异常,但奇怪的是,所有应用程序在尝试访问互联网时,我在防火墙中得到一个提示,但没有发生任何事情。当程序在方法中超时时,似乎从不尝试实际发送请求 是否有人可以建议问题

我有一个从internet URL检索原始HTML的简单方法,但每次运行它时,我都会得到java.net.SocketTimeoutException:

这段代码很早以前就可以正常工作了,我只是复制粘贴以重用此方法,但随着时间的推移,似乎有些东西发生了变化,或者可能还有其他东西。 我仔细检查了Java/Javaw是否允许在防火墙中出现异常,但奇怪的是,所有应用程序在尝试访问互联网时,我在防火墙中得到一个提示,但没有发生任何事情。当程序在方法中超时时,似乎从不尝试实际发送请求


是否有人可以建议问题出在哪里?

首先尝试使用本地安装的web服务器。这一定与Java被防火墙阻止有关。我们没有人能够远程感知您的网络配置。这显然与您的代码无关。以下线程可能有用:@JBNizet,bmarglies,谢谢。是的,我已经测试过了,它在本地Web服务器上运行良好。奇怪的是jvm从不请求互联网访问,因为我删除了所有防火墙规则,尝试了其他所有应用程序的访问请求,但jvm从不,似乎我必须重新安装,奇怪?@bmargiles,我不知道我做了所有事情,重新安装java,重置防火墙区域警报,但不知何故,我的机器上的java无法上网,不知道是什么原因?最后的办法是重新安装windows
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;
}