首页 文章

使用HttpUrlConnection测试URL仅适用于前面的www

提问于
浏览
1

我正在编写一个测试不同URL的程序 . 我正在使用HttpURLConnection,它适用于大多数URL,除了其中至少有一个要求网址有“www” . 在前面,而大多数没有 .

有人知道为什么吗?当我有一个www时,我收到200响应 . 在前面,但我宁愿不必附加,如果我不需要,因为不是我的所有网站都以www开头 .

url = "http://" + url;

    System.out.println("Testing " + url);


    try {
        HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
        int responseCode = conn.getResponseCode();

        switch(responseCode){
        case 200: System.out.println("URL is valid."); 
                break;
        case 301: case 302: case 303: System.out.println("URL is being redirected."); 
            redirect(conn); 
            break;
        default: System.out.println("URL not valid."); 
        break;
        }


    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

输出:的java.net.UnknownHostException:在java.net.AbstractPlainSocketImpl.connect(未知来源)在java.net.PlainSocketImpl.connect(未知来源)在java.net.SocksSocketImpl.connect(未知来源)在java.net.Socket中位于sun.net.www.http.HttpClient.openServer(未知来源)sun.net.NetworkClient.doConnect(未知来源)的java.net.Socket.connect(未知来源)的.connect(未知来源) .http.HttpClient.openServer(未知来源),位于sun.net.www.http.HttpClient . (未知来源)sun.net.www.http.HttpClient.New(未知来源)sun.net.www . http.HttpClient.New(未知来源)在sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(未知来源)在sun.net.www.protocol.http.HttpURLConnection.plainConnect0(未知来源)在sun.net . www.protocol.http.HttpURLConnection.plainConnect(未知来源)在sun.net.www.protocol.http.HttpURLConnection.connect(未知来源)在sun.net.www.protocol.http.HttpURLConnection.getInputStream0(未知来源)在sun.net . www.protocol.http.HttpURLConnection.getInputStream(来源不明)在java.net.HttpURLConnection.getResponseCode(来源不明)在com.workfromhome.UrlChecker.main(UrlChecker.java:19)

1 回答

相关问题