java - Jsoup connect(url) 获取编码
问题描述
使用 Jsoup 连接到 URL 时遇到一些问题,我无法设置 HTML 的编码,标签中的文本仅显示为“?”。我已经在论坛和文档中进行了彻底的搜索,但我无法提出任何可行的解决方案。
这是运行 Jsoup 连接时给我带来问题的 HTML 部分之一
运行连接时的结果是这样的:
如果我尝试使用解析器,我会收到以下消息:“请启用 JavaScript 以查看页面内容”
正如stackoverflow中的一些线程所述,我已经更改了输出编码以检查问题是否存在,但结果是相同的。我尝试将内容保存到正确iso中的文件中,但效果不佳,输出与问号相同。
我正在使用的代码段非常简单,因为我只是想获取 HTML:
Document doc = Jsoup.connect(a)
.header("Content-Type", "application/x-www-form-urlencoded")
.postDataCharset("ISO-8859-1") // tried other encodings but no success as well, same output
.get();
System.out.println(doc);
在使用Jsoup的connect().get()之前有人遇到过这个问题吗?
更新
使用另一个站点没有出现问题:
String a = "https://flatschart.com/html5/descricao.html";
Document doc = Jsoup.connect(a)
.header("Content-Type", "application/x-www-form-urlencoded")
.postDataCharset("ISO-8859-1")
.get();
System.out.println(doc);
解决方案
推荐阅读
- python - 如何计算前一个日期直到第一个事件的移动平均值?
- javascript - 为什么“!duplicateNote.length”不起作用?
- common-lisp - 从序列中删除所有重复元素
- python - 如何格式化 API JSON 输出?
- objective-c - 用 Objective-c 解析 JSON?
- html - 如何使用`Select`进行`onclick`,以便我可以调用一个函数来获取ID并传递给Windows位置?
- ms-access - MS Access 日期序列功能
- java - JAVAFX:鼠标悬停和延迟?
- php - Laravel 5.2 使用 foreach 循环获取日期差异
- android - 使用firebase登录微软时从authresult获取刷新令牌 - Android