Как определить тип содержимого после открытия 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 Я хочу определить тип контента. Например:

Я не могу использовать структуру URL, чтобы определить это. Например:

  • При подключении к http://www.advertising.com/favicon.ico код ответа равен 200, но тип содержимого - "Текст" (само содержимое "Запрошенный файл favicon.ico не найден").

Я знаю, как читать контент, используя InputStream объект, но:

  1. Я хочу избежать загрузки самого контента, если это возможно.

  2. Я не понимаю, как это может помочь мне определить тип контента.

Любые идеи будут высоко оценены... спасибо.

1 ответ

Решение

Вы могли бы использовать getContentType:

public String getContentType () Добавлен на уровне API 1

Возвращает MIME-тип содержимого, указанного в типе содержимого поля заголовка ответа, или значение NULL, если тип неизвестен.

Другие вопросы по тегам