Как определить тип содержимого после открытия HTTP-соединения?
Я открываю HTTP-соединение с URL-адресом, сгенерированным в моей программе:
String url = INPUT_URL;
HttpURLConnection connection;
while (true)
{
connection = (HttpURLConnection)new URL(url).openConnection();
connection.setInstanceFollowRedirects(true);
switch (connection.getResponseCode()/100)
{
case 3:
url = connection.getHeaderField("Location");
break;
case 4:
case 5:
// Report some error
return;
}
}
Сейчас в case 2
Я хочу определить тип контента. Например:
При подключении к http://www.google.com/ тип контента - Текст.
При подключении к http://www.google.com/favicon.ico тип содержимого - "Изображение".
Я не могу использовать структуру URL, чтобы определить это. Например:
- При подключении к http://www.advertising.com/favicon.ico код ответа равен 200, но тип содержимого - "Текст" (само содержимое "Запрошенный файл favicon.ico не найден").
Я знаю, как читать контент, используя InputStream
объект, но:
Я хочу избежать загрузки самого контента, если это возможно.
Я не понимаю, как это может помочь мне определить тип контента.
Любые идеи будут высоко оценены... спасибо.
1 ответ
Вы могли бы использовать getContentType
:
public String getContentType () Добавлен на уровне API 1
Возвращает MIME-тип содержимого, указанного в типе содержимого поля заголовка ответа, или значение NULL, если тип неизвестен.