設定済みのイントラネットサイトを確認する必要があります。私は以下のコードを使用しようとしました。 (ちょうどインターネット上のランダム検索でこのコードを手に入れました)。私は自分のアクションクラスでこのメソッドを呼び出しました。しかし、サイトのほとんどは例外部分に入っています。プロトコルの例外とUnknownHostException
を取得していましたが、ブラウザからこれらのサイトを開くことはできました。参照用Java Struts - デッドリンクチェッカー
コード:
public boolean isLive(String link) {
HttpURLConnection urlConnection = null;
try {
URL url = new URL(link);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("HEAD");
urlConnection.setConnectTimeout(5000); /* timeout after 5s if can't connect */
urlConnection.setReadTimeout(5000); /* timeout after 5s if the page is too slow */
urlConnection.connect();
String redirectLink = urlConnection.getHeaderField("Location");
if (redirectLink != null && !link.equals(redirectLink)) {
return isLive(redirectLink);
} else {
return urlConnection.getResponseCode() == HttpURLConnection.HTTP_OK;
}
} catch (Exception e) {
return false;
} finally {
if (urlConnection != null) {
urlConnection.disconnect();
}
}
}