Я написал простой код для получения content-type
данного URL-адреса. Для того, чтобы сделать обработку быстрее, я сделал изменения, чтобы установить метод запроса, как HEAD
Тип ответа HTTP-ответа, отличный от HEAD-запроса
// Added a random puppy face picture here
// On entering this query in browser (or Poster<mozilla> or Postman<chrome>), the
// content type is shown as image/jpeg
URL url = new URL("http://www.bubblews.com/assets/images/news/521013543_1385596410.jpg");
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setRequestMethod("HEAD");
connection.connect();
String contentType = connection.getContentType();
System.out.println(contentType);
if (!contentType.contains("text/html")) {
System.out.println("NOT TEXT/HTML");
// Do something
}
Я пытаюсь добиться чего-то, если это не text/html
, но когда я установил метод запроса, как HEAD
, содержание типа отображается как text/html
. Если я запускаю тот же запрос HEAD
, используя Poster
или Postman
, я вижу content-type
как image/jpeg
.
Так что же это делает изменение типа контента в случае этого Java-кода ?. Может ли кто-нибудь указать любую ошибку, которую я, возможно, сделал?
Примечание: Я использовал this пост в качестве ссылки
Я предполагаю, что вы получили HTML-страницу, в которой говорится, что «метод не разрешен» или некоторая другая ошибка. Вероятно, вы должны добавить заголовок «Accept» и заголовок «User-Agent». – hgoebl
@hgoebl хорошо, в этом случае, не должно ли оно «не быть» данным 'image/jpeg' при тестировании с помощью' poster/postman'? – Rakesh
Я не уверен, сколько заголовков Postman добавляет ваш запрос, который явно не задан вами. Я полагаю, что «User-Agent» и «Accept» могут быть одним из них. Можете ли вы нюхать трафик (Fiddler, Wireshark)? – hgoebl