如何在Java中检查网址是否存在?

时间:2019-06-11 18:24:26

标签: java

我遇到一个问题,我需要帮助检查一个URL,当我在特定的code上搜索时,它不会显示我列出的URL。有没有办法使其与我的代码一起使用?我尝试并创建了一个下面的方法generateLink。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

首先,由于generateLink将返回有效的URL或null,因此您需要进行以下更改:

jgen.writeStringField("pay_grade_description_link", generateLink(XXX_URL + value.jobClassCd) + ".pdf");

对此:

jgen.writeStringField("pay_grade_description_link", generateLink(value.jobClassCd));

如果将“ .pdf”连接到它,则空返回值将毫无意义,因为null + ".pdf"会产生八个字符的字符串"null.pdf"

第二,您可以检查HttpURLConnection的响应代码以测试URL的有效性。 (从理论上讲,您应该能够使用"OPTIONS" HTTP方法来测试URL,但并非所有服务器都支持它。)

private String generateLink(String jobClassCd) {
    String url = XXX_URL + jobClassCd + ".pdf";
    try {
        HttpURLConnection connection =
            (HttpURLConnection) new URL(url).openConnection();

        if (connection.getResponseCode() < 400) {
            return url;
        }
    } catch (IOException e) {
        Logger.getLogger(JobSerializer.class.getName()).log(Level.FINE,
            "URL \"" + url + "\" is not reachable.", e);
    }

    return null;
}