简体   繁体   English

未知主机异常

[英]unknown host exception

try { 
{
    long startTime = System.currentTimeMillis();

        String source="s";
        String source1="s";
        URL google = new URL("http://google.com/"); 
        HttpURLConnection yc =(HttpURLConnection)google.openConnection(); 
        BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream())); 
        String inputLine;


        while ((inputLine = in.readLine()) != null) { 
            source=source.concat(inputLine);
        }
        in.close();

        yc.disconnect();

    }

long endTime1 = System.currentTimeMillis();
System.out.println("Total elapsed time in execution of method callMethod() is :"+ (endTime1-startTime));


    } 
}

when i tried the above through command prompt i got当我通过命令提示符尝试上述操作时,我得到了

java.net.UnknownHostException: google.com 
at java.net.PlainSocketImpl.connect(Unknown Source) 
at java.net.Socket.connect(Unknown Source) 
at java.net.Socket.connect(Unknown Source) 
at sun.net.NetworkClient.doConnect(Unknown Source) 
at sun.net.www.http.HttpClient.openServer(Unknown Source) 
at sun.net.www.http.HttpClient.openServer(Unknown Source) 
at sun.net.www.http.HttpClient.<init>(Unknown Source) 
at sun.net.www.http.HttpClient.New(Unknown Source) 
at sun.net.www.http.HttpClient.New(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) 
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) 
at ScagntJavaHttp.httpMakeRequest(ScagntJavaHttp.java:185) 
at test.main(test.java:23)

Can any help me in resolving this one?任何人都可以帮助我解决这个问题吗?

Try removing http:// from your host url when you get java.net.UnknownHostException and check your internet connection and the host exists (probably safe with google. . .)当您收到java.net.UnknownHostException并检查您的互联网连接和主机是否存在时,尝试从您的主机 url 中删除http://

I believe it's a proxy problem.我相信这是一个代理问题。 Try to see if you have a proxy definition in your browser and then set it:尝试查看您的浏览器中是否有代理定义,然后进行设置:

    ProxySelector.setDefault(new ProxySelector() {

        @Override
        public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
            throw new RuntimeException("Proxy connect failed", ioe);
        }

        @Override
        public List select(URI uri) {
            return Arrays
                .asList(new Proxy(Proxy.Type.HTTP,
                                  new InetSocketAddress(proxyHost,
                                                        proxyPort)));
        }
    });

To see if you have proxy definition in IE, go to Tools - Internet Options -- Connections -- Lan Settings要查看IE中是否有代理定义,go到工具-Internet选项-连接-局域网设置

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM