如何验证URL状态

时间:2015-05-04 09:32:12

标签: java url-validation

我有一个名为Validationstatuscode.xlsx的excelsheet,它由表1的A列上的URL列表组成。 我想验证显示http状态为200或400的所有网址。到目前为止我已经使用过了 http://httpstatus.io/以1次点击验证100个网址,但现在计数已增加。 那么java中是否有可能验证URL? 虽然我对java有所了解但不知道怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用java.net.HttpURLConnection进行此操作,如下例所示。这里的关键是getResponseCode方法将返回HTTP代码,即200,400 ......。

package so;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class HttpRequest {

    private int getWebPageStatus(String url) {

        HttpURLConnection con = null;
        try {
            con = (HttpURLConnection) new URL(url).openConnection();
            return con.getResponseCode();

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (con != null) {
                con.disconnect();
            }
        }

        return -1;
    }

    public static void main(String[] args) {
        HttpRequest request = new HttpRequest();

        System.out.println("https://login.yahoo.com  :" + request.getWebPageStatus("https://login.yahoo.com"));
        System.out.println("https://www.google.co.in :" + request.getWebPageStatus("https://www.google.co.in"));
        System.out.println("https://www.gmail.com    :" + request.getWebPageStatus("https://www.gmail.com"));
        System.out.println("https://xyz.co.in        :" + request.getWebPageStatus("https://xyz.co.in"));
    }

}