【问题标题】:How to validate a URLs status [duplicate]如何验证 URL 状态 [重复]
【发布时间】:2015-05-04 09:32:12
【问题描述】:

我有一个名为 Validationstatuscode.xlsx 的 excelsheet,它由工作表 1 的 A 列上的 URL 列表组成。 我想验证所有显示 http 状态 200 或 400 的 URL。直到现在我已经使用 http://httpstatus.io/ 一次性验证 100 个 URL,但现在数量增加了。 那么在 java 中是否有可能验证 URL? 虽然我有java知识但不知道怎么做?

【问题讨论】:

  • @SaqibRezwan 据我了解,OP 正在寻找一种方法来验证 HTTP 状态,而不是 URL 本身是否有效。
  • @Stephan:是的..你说得对..我正在寻找 HTTP 状态。

标签: java url-validation


【解决方案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"));
    }

}

【讨论】:

  • :- 感谢您的回答。我想知道在连接之前,即 con = (HttpURLConnection) new URL(url).openConnection();实现 URLEncoder?
猜你喜欢
  • 1970-01-01
  • 2021-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-23
  • 2013-09-01
  • 1970-01-01
相关资源
最近更新 更多