Ответ IIS с Content-Type: text выдает исключение «необработанный тип содержимого« null »» в Jsoup - PullRequest
3 голосов
/ 24 августа 2011

Я отправляю некоторые данные на сервер IIS, который отвечает простым идентификатором (здесь 1692945):

Cache-Control: private
Content-Type: text; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Tue, 23 Aug 2011 17:08:37 GMT
Content-Length: 7

1692945

Тип контента text, кажется, сбивает с толку Jsoup, который выдает:

Exception in thread "main" java.io.IOException: Unhandled content type "null" on URL http://domain.com/svr_listing.aspx. Must be text/*, application/xml, or application/xhtml+xml

Есть ли способ указать, что ответ должен обрабатываться как text/plain? Это ошибка jsoup?

Спасибо

Nicolas

Ответы [ 2 ]

3 голосов
/ 26 августа 2011

jsoup проверяет тип ответа по умолчанию, чтобы защитить вас от случайной попытки проанализировать изображения, PDF-файлы и т. Д. Как HTML.Поскольку он не распознает text как допустимый тип содержимого HTML, он вызывает исключение.

Вы можете заставить jsoup игнорировать тип содержимого и анализировать ответ как HTML с помощью метода Connection.ignoreContentType().

Например,

Document doc = Jsoup.connect(url).ignoreContentType(true).get(); // or .post();
0 голосов
/ 25 августа 2011

Jsoup может читать данные из объектов String.Почему бы не использовать InputStreamReader для чтения ответа сервера в строку, а затем JSoup проанализировать ответ?

...