我尝试使用以下连接

URL oracle = new URL("http://www.oracle.com/");
    URLConnection yc = oracle.openConnection();
    yc.setConnectTimeout(100000);
    BufferedReader in = new BufferedReader(new InputStreamReader(
                                yc.getInputStream()));
    String inputLine;
    while ((inputLine = in.readLine()) != null)
        System.out.println(inputLine);
    in.close();


抛出java.net.UnknownHostException

我无法在mapping中设置system32\drivers\etc\hosts。而且我不能在那里做任何更改。有什么办法可以克服这个问题?它可以在我的另一台计算机上运行,​​但不能在要使用它的计算机上使用



我尝试使用

searchUrl="http://96.7.228.140/";


并得到以下错误

java.net.ConnectException: Connection timed out: connect

最佳答案

您已经尝试用URL中的IP替换域名,但此操作无效。
这表明存在另一个问题。很可能不是java问题。
您不应该尝试使用hosts文件修复它。

如果可以ping oracle.com,则Java应该可以连接到它。

唯一的问题可能是连接的长度,因为如果网络太慢,连接可能会超时。

在oracle.com上执行ping操作,并检查他们响应所需的时间。相应地调整连接超时。

如果这不起作用,则可能是另一台计算机存在防火墙问题。可能是因为您的网络适配器未正确安装。

您可以在机器上打开Internet浏览器并导航到http://www.oracle.com吗?

如果可以,请尝试您的程序。如果不起作用,请检查连接时间。

关于java - 如何克服无法访问system32\drivers\etc\hosts的未知主机异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22967035/

10-11 05:03
查看更多