带有Content-Type:text的IIS响应在Jsoup中抛出“Unhandled content type”null“”异常

时间:2011-08-24 07:37:10

标签: java http scala jsoup

我正在将一些数据发布到IIS服务器,该服务器回复了一个简单的id(这里是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错误吗?

谢谢,

尼古拉斯

2 个答案:

答案 0 :(得分:3)

默认情况下,jsoup检查响应类型,以防止您意外地尝试将图像和PDF等解析为HTML。因为它无法将text识别为有效的HTML内容类型,所以它会抛出异常。

您可以强制jsoup忽略内容类型,并使用Connection.ignoreContentType()方法将响应解析为HTML。

E.g。

Document doc = Jsoup.connect(url).ignoreContentType(true).get(); // or .post();

答案 1 :(得分:0)

Jsoup可以从String对象中读取数据。为什么不使用InputStreamReader将服务器响应读入String,然后让JSoup解析响应?