Java JSOUP1.7.1错误?
执行以下代码:Java JSOUP1.7.1错误?,java,jsoup,Java,Jsoup,执行以下代码: Jsoup.connect(baseURL+dataJSSrc.execute() 引发异常: org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml. Mimetype=application/x-javascript, URL=http://www.abc.com/playdata/206/
Jsoup.connect(baseURL+dataJSSrc.execute()代码>
引发异常:
org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml. Mimetype=application/x-javascript, URL=http://www.abc.com/playdata/206/8910.js?44613.77
但是当我使用
URLConnection conn=newurl(baseURL+dataJSSrc).openConnection()代码>
没关系
在下面的代码中
System.out.println(conn.getContentType()); // out put 'application/x-javascript'
Jsoup只能用于下载HTML或XML吗?Jsoup被设计为HTML/XML解析器,而不是纯粹的HTTP客户端。如果您需要下载一些非HTML/XML文件,请使用普通的HTTP客户机,而不是HTML/XML解析器
使用合适的工具来完成这项工作是很重要的。虽然我不反对巴卢斯的答案,但你可以使用Jsoup下载你喜欢的任何东西。默认情况下,如果Jsoup检索到mime类型的内容而无法将其解析为HTML,则Jsoup将抛出异常,以避免解析图像等内容。但是,如果您只想获取字节或字符串,可以使用connection.ignoreContentType(true)
禁用该测试:
String script = Jsoup.connect(jsUrl).ignoreContentType(true).execute().body();
或
通过一个成熟的HTTP客户机,您将获得更多的控制权,但这种方法在紧要关头非常有用
byte[] bytes = Jsoup.connect(imageUrl).ignoreContentType(true).execute().bodyAsBytes();