Jsoup 1.7.1错误?

use*_*683 2 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/8910.js?44613.77
Run Code Online (Sandbox Code Playgroud)

但是当我用的时候

URLConnection conn = new URL(baseURL + dataJSSrc).openConnection();

没关系!

在以下代码中

System.out.println(conn.getContentType()); // out put 'application/x-javascript'
Run Code Online (Sandbox Code Playgroud)

Jsoup只能用于下载HTML或XML吗?

Jon*_*ley 7

虽然我不同意BalusC的回答,但您可以使用Jsoup下载任何您喜欢的内容.默认情况下,如果Jsoup检索具有无法解析为HTML的mime类型的内容,则会抛出异常,以避免解析例如图像.但是,connection.ignoreContentType(true)如果您只想获取字节或字符串,则可以禁用该测试:

String script = Jsoup.connect(jsUrl).ignoreContentType(true).execute().body();
Run Code Online (Sandbox Code Playgroud)

要么

byte[] bytes = Jsoup.connect(imageUrl).ignoreContentType(true).execute().bodyAsBytes();
Run Code Online (Sandbox Code Playgroud)

使用成熟的HTTP客户端可以获得更多控制权,但这种方法在紧要关头中非常有用.