我尝试使用以下连接
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/