2012-01-31 24 views
6

que estoy trabajando con una solicitud se envían mediante el cliente HTTP Apache (V4- la versión más reciente, no el más antiguo v3) ...tipo MIME de la respuesta

¿Cómo puedo obtener el tipo MIME de la respuesta?

En la mayor v3 del cliente HTTP Apache, se obtuvo utilizando el tipo MIME siguiente code--

String mimeType = response.getMimeType(); 

¿Cómo consigo los mimetype utilizando v4 del cliente HTTP Apache?

Respuesta

16

A "Content-type" cabecera HTTP debe darle mime información del tipo:

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

o como

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

A continuación, puede extraer tipo MIME como el tipo de contenido puede incluir codificación también.

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

Por supuesto, no se olvide de nulo cheque antes de obtener el valor de la cabecera (en caso de que el encabezado de tipo de contenido no es enviado por el servidor).

22

Para obtener el tipo de contenido de la respuesta, puede usar la clase ContentType.

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

El uso de esta clase se puede extraer fácilmente tipo MIME:

String mimeType = contentType.getMimeType(); 

o conjunto de caracteres:

Charset charset = contentType.getCharset(); 
+2

Esto suena como una solución mejor que la respuesta aceptada. –

+0

Esto me ayuda mucho. muchas muchas gracias. –

+3

Para desarrolladores de Android: la clase ContentType no está disponible en el puerto Android de la biblioteca Apache HTTP – gardarh