This code snippet show you how to get the content-type of an HTTP Get request. The ContentType
can be obtained by using ContentType.getOrDefault()
method and passing an HttpEntity
as the argument. The HttpEntity
can be obtained from the HttpResponse
object.
From the ContentType
object we can get the mime-type by calling the getMimeType()
method. This method will return a string value. To get the charset we can call the getCharset()
method which will return a java.nio.charset.Charset
object.
package org.kodejava.apache.http;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.entity.ContentType;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import java.io.IOException;
import java.nio.charset.Charset;
public class EntityContentType {
public static void main(String[] args) {
EntityContentType demo = new EntityContentType();
demo.getContentType("https://www.google.com");
demo.getContentType("https://www.google.com/images/srpr/logo3w.png");
}
public void getContentType(String url) {
try (CloseableHttpClient client = HttpClientBuilder.create().build()) {
HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
showContentType(entity);
} catch (IOException e) {
e.printStackTrace();
}
}
private void showContentType(HttpEntity entity) {
ContentType contentType = ContentType.getOrDefault(entity);
String mimeType = contentType.getMimeType();
Charset charset = contentType.getCharset();
System.out.println("MimeType = " + mimeType);
System.out.println("Charset = " + charset);
}
}
The output of our code snippet are:
MimeType = text/html
Charset = ISO-8859-1
MimeType = image/png
Charset = null
Maven Dependencies
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.14</version>
</dependency>
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024