java.net.UnknownHostException:www.google.com

java.net.UnknownHostException:www.google.com,java,exception,Java,Exception,我正在开发一个健康检查web应用程序。我尝试使用HttpUrlConnection方法获取url响应,但我得到了UnknownHostException System.setProperty("java.net.preferIPv4Stack" , "true"); String[] uat_targetUrls={"https://www.google.com"}; String[] uat_targetResponse=new String[uat_targetUrls.l

我正在开发一个健康检查web应用程序。我尝试使用HttpUrlConnection方法获取url响应,但我得到了UnknownHostException

 System.setProperty("java.net.preferIPv4Stack" , "true");
    String[] uat_targetUrls={"https://www.google.com"};
    String[] uat_targetResponse=new String[uat_targetUrls.length];

            HttpURLConnection httpUrlConn;
            httpUrlConn = (HttpURLConnection) new URL(uat_targetUrls[i])
            .openConnection();

            httpUrlConn.setRequestMethod("GET");


            httpUrlConn.setConnectTimeout(30000);
            httpUrlConn.setReadTimeout(30000);



           if(httpUrlConn.getResponseCode()==200)
               uat_targetResponse[i]="UP";
           else 
               uat_targetResponse[i]="DOWN";
当执行此操作时,我得到了各种URL的UnknownHostException。有人能帮我吗。我正在使用EclipseIDE。这就是我得到的错误:

java.net.UnknownHostException: www.google.com
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)

谢谢。

问题一定是您机器上的网络问题

您的代码对我有效(通过一些小的修复来修复丢失的循环变量
i
):


输出:
UP

我测试了您提供的代码,似乎工作正常。未解析IP地址时引发UnknownHostException。
如果您在某个组织中,请检查网络是否允许您通过代码连接到网络,或者DNS设置是否正确。

使用ping www.google.com-4查看您是否可以通过ipv4访问google.com

试试ping
www.google.com
使用

如果出现超时错误
原因1:没有互联网连接
原因2:您可能在代理服务器后面。

原因3:将凭据添加到标头

可能需要配置代理?我可以通过浏览器访问url,但无法在ping上从主机获得回复。Eclipse中的首选项>常规>网络连接是什么样子的?我可以看到两个部分:代理条目和代理绕过。在Proxy ByPass->localhost和127.0.0.1中有2个条目。在代理条目中,HTTP被选中。我可以通过浏览器访问url,但当我尝试ping主机名时,它不会回复。你能检查这是否有帮助吗?感谢Code Fighter,我尝试使用给定的解决方案更改我的程序,但它不起作用。是的,这在我的本地计算机上也适用于我。从组织桌面使用时,我遇到了问题。您对此有解决方案吗。@NikhileshTiwari恐怕这是一个错误的网站,无法帮助您解决网络问题。
public static void main(String[] args) throws Exception {
    System.setProperty("java.net.preferIPv4Stack", "true");
    String[] uat_targetUrls = { "https://www.google.com" };
    String[] uat_targetResponse = new String[uat_targetUrls.length];

    HttpURLConnection httpUrlConn;
    httpUrlConn = (HttpURLConnection) new URL(uat_targetUrls[0])
            .openConnection();

    httpUrlConn.setRequestMethod("GET");

    httpUrlConn.setConnectTimeout(30000);
    httpUrlConn.setReadTimeout(30000);

    if (httpUrlConn.getResponseCode() == 200)
        uat_targetResponse[0] = "UP";
    else
        uat_targetResponse[0] = "DOWN";


    System.out.println(uat_targetResponse[0]);
}
ping www.google.com -t