zoukankan      html  css  js  c++  java
  • Jsoup获取部分页面数据失败 org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml.

      用Jsoup在获取一些网站的数据时,起初获取很顺利,但是在访问某浪的数据是Jsoup报错,应该是请求头里面的请求类型(ContextType)不符合要求。

      请求代码如下:

        private static void testOuGuanMatch() throws IOException{
            Document doc = Jsoup.connect("我的URL").userAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.15)").timeout(5000).get();
            System.out.println(doc);
        }

      能看到我这里设置了请求代理和相应时间。

      报错信息如下:

    org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml. Mimetype=application/javascript, URL=....
        at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:472)
        at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:424)
        at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:178)
        at org.jsoup.helper.HttpConnection.get(HttpConnection.java:167)
        at calendarSpider.SpiderTest.testOuGuanMatch(SpiderTest.java:174)
        at calendarSpider.SpiderTest.main(SpiderTest.java:39)

      在google上查找到了解决方法:添加ignoreContentType(true)

      修改后代码:

        private static void testOuGuanMatch() throws IOException{
            Document doc = Jsoup.connect("我的URL").ignoreContentType(true).userAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.15)").timeout(5000).get();
            System.out.println(doc);
        }

      那这里的ignoreContentType(true)看词就知道忽略ContextType的检查

  • 相关阅读:
    Vue 消息无缝滚动
    请求不携带cookie问题
    vue中添加favicon
    自定义表单-校验数据规则
    vue 刷新当前页面的方式
    读阮一峰《ECMAScript 6 入门》小结
    Java进阶知识点3:更优雅地关闭资源
    Java进阶知识点2:看不懂的代码
    用Java实现异构数据库的高效通用分页查询功能
    Java进阶知识点1:白捡的扩展性
  • 原文地址:https://www.cnblogs.com/parryyang/p/5587929.html
Copyright © 2011-2022 走看看