Как найти миметип ответа - PullRequest
11 голосов
/ 31 января 2012

Я работаю с GET-запросом, сделанным с использованием HTTP-клиента Apache (v4 - последняя версия; не более старая v3) ...

Как получить mimetype ответа?

В более старой версии v3 клиента Apache http тип MIME был получен с помощью следующего кода -

 String mimeType = response.getMimeType();

Как получить MIME-тип с помощью версии 4 клиента Apache http?

Ответы [ 2 ]

30 голосов
/ 29 июля 2013

Для получения типа контента из ответа вы можете использовать ContentType class.

HttpEntity entity = response.getEntity();
ContentType contentType;
if (entity != null) 
    contentType = ContentType.get(entity);

Используя этот класс, вы можете легко извлечь MIME-тип:

String mimeType = contentType.getMimeType();

или кодировка:

Charset charset = contentType.getCharset();
18 голосов
/ 31 января 2012

HTTP-заголовок "Content-type" должен дать вам информацию о MIME-типе:

Header contentType = response.getFirstHeader("Content-Type");

или как

Header contentType = response.getEntity().getContentType();

Затем вы можете извлечь сам MIME-тип, так как тип контента может включать и кодировку.

String mimeType = contentType.getValue().split(";")[0].trim();

Конечно, не забывайте о проверке на ноль до получения значения заголовка (в случае, если заголовок типа содержимого не отправляется сервером).

...