UnsupportedMimeTypeException about Jsoup

2014-11-24 08:24:19 · 作者: · 浏览: 0
Execution of the following code:
[java]
Jsoup.connect(baseURL + dataJSSrc).execute();
throws an Exception:
[java]
org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/x html+xml. Mimetype=application/x-java script, URL=http://www.abc.com/playdata/206/8910.js 44613.77
but when I use
[java]
URLConnection conn = new URL(baseURL + dataJSSrc).openConnection();
it is OK!
in the following code
[java]
System.out.println(conn.getContentType()); // out put 'application/x-java script'
Can Jsoup only be used to download HTML or XML
The answers:
you can use Jsoup to download anything you like.
By default, Jsoup will throw an exception if it retrieves content with a mime type that it will not be able to parse as HTML, to avoid parsing e.g. images.
However you can disable that testwithconnection.ignoreContentType(true) if you just want to get at the bytes or as a string:
Here is an action to avoid throwing the exception in your code method:
[java]
String script = Jsoup.connect(jsUrl).ignoreContentType(true).execute().body();
or
[java]
byte[] bytes = Jsoup.connect(imageUrl).ignoreContentType(true).execute().bodyAsBytes();
You will get more control with a full-fledged HTTP client, but this method can be useful in a pinch.
Collect data from Stack Overflow onhttp://stackoverflow.com/