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