连接错误:"org.jsoup.UnsupportedMimeTypeException: Unhandled content type"

43
当我尝试使用jsoup打开链接进行解析时,出现了错误。
连接命令:
Document doc = Jsoup.connect("http://www.rfi.ro/podcast/emisiune/174/feed.xml")
                .timeout(10 * 1000).get();

抛出的错误:

Exception in thread "main" org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml. Mimetype=application/rss+xml; charset=utf-8, URL=http://www.rfi.ro/podcast/emisiune/174/feed.xml
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:453)
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:410)
    at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:164)
    at org.jsoup.helper.HttpConnection.get(HttpConnection.java:153)
    at podcast.Pods.main(Pods.java:41)
2个回答

93

使用 ignoreContentType() 方法(参见此处文档):

String myURL = "http://www.rfi.ro/podcast/emisiune/174/feed.xml";
Document pod = Jsoup.connect(myURL).ignoreContentType(true).get();

1
非常好,运行得很顺利。 - jalpa
有人能详细解释一下为什么应该忽略内容类型吗? - undefined

4
// Initialize UnSupportedMimeTypeExeception class 
UnsupportedMimeTypeException mimeType = new UnsupportedMimeTypeException("Hey this is Mime",  "application/json", "http://dictionary.cambridge.org/dictionary/english/reality");
String mime = mimeType.getMimeType();

Document doc = Jsoup.connect("https://translate.google.com/translate_a/single?client=t&sl=en&tl=hi&hl=en&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&source=bh&ssel=0&tsel=0&kc=1&tk=2546.416541&q=consume")
    .requestBody("JSON")
    .header("Content-Type", mime)
    .cookies(response.cookies())
    .ignoreContentType(true)
    .post();
System.out.println(doc);

在我的情况下,connect 对象中没有 requestBody 属性。 - Nilupul Heshan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接