HttpURLCONNECTIONオブジェクトを使用してURLにアクセスしようとしていますが、Locationヘッダーが空白であるため、リダイレクトが識別されていないようです。リダイレクトをたどることができる他の方法はありますか?setFollowRedirectsも役に立ちません。
private static boolean isLive(String link) {
HttpURLConnection urlConnection = null;
try {
URL url = new URL(link);
System.out.println(url);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setInstanceFollowRedirects(true);
urlConnection.setRequestMethod("GET");
// urlConnection.connect();
//urlConnection.setConnectTimeout(5000); /* timeout after 5s if can't connect */
//urlConnection.setReadTimeout(5000); /* timeout after 5s if the page is too slow */
urlConnection.connect();
int resp = urlConnection.getResponseCode();
System.out.println(resp);
String redirectLink = urlConnection.getHeaderField("Location");
System.out.println(redirectLink);
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();
}
}