UnsupportedMimeTypeException about Jsoup

Execution of the following code:

 

Jsoup.connect(baseURL + dataJSSrc).execute(); 

 

throws an Exception:

 

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

 

but when I use

 

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

 

it is OK!

in the following code

 

System.out.println(conn.getContentType()); // out put 'application/x-javascript'

 

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:

 

String script = Jsoup.connect(jsUrl).ignoreContentType(true).execute().body();


or

 

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/

 


 



 

發佈了56 篇原創文章 · 獲贊 7 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章