java - JSoup 获取内容类型然后获取数据

标签 java http-headers jsoup

所以目前我正在使用以下代码从 url 中检索数据

Document doc = Jsoup.connect(url).get();

在获取数据之前,我决定要获取内容类型,因此我使用以下方法来实现。

Connection.Response res = Jsoup.connect(url).timeout(10*1000).execute();
String contentType = res.contentType(); 

现在我想知道,这是建立了 2 个独立的连接吗?这效率不高吗?有没有办法让我在一个连接中获取内容类型和文档数据?

谢谢

最佳答案

Jsoup.connect(url).get()Jsoup.connect(url).timeout(10*1000).execute();是两个独立的连接。也许您正在寻找类似的东西

Response resp = Jsoup.connect(url).timeout(10*1000).execute();
String contentType = res.contentType(); 

然后将响应主体解析为文档

Document doc = resp.parse();

默认情况下,Jsoup 仅解析 text/*application/xmlapplication/xhtml+xml 并且如果内容类型为其他,像 application/pdf 一样,它会抛出 UnsupportedMimeTypeException 所以你不应该担心它。

关于java - JSoup 获取内容类型然后获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23393761/

相关文章:

javascript - Angular js $http 服务 :- header is not accessible inside catch block

http - http授权 header 中的有效字符是什么

http-headers - TAR文件的正确MIME媒体类型

java - 如何使用 Jsoup 选择这些元素?

java - 使用实体类型表达式的 Spring data JPA

java - 如何在数组中找到最接近给定数字的值

java - 获取 css 内容,然后为链接 validator 解析外部 css 文件的图像引用

html - 使用自定义爬虫访问分页中的所有页面

java - 使用 Jpcap 创建反向代理

java - 列表<? extends Object>#add(new MyClass()) 不编译