jsoup 1.21.1 发布,Java HTML 解析器
jsoup 1.21.1 现已发布。此版本具有强大的全新节点选择功能,可让用户使用 CSS 选择器锁定特定的 DOM 节点(例如注释和文本节点)、通过新的 TagSet 回调系统进行动态标签自定义,并通过简化的属性转义增强了对突变 XSS 攻击的防御能力。
此版本还默认提供 HTTP/2 支持,并进行了多项 API 改进以提升开发者体验,并修复了多个 edge-case parsing 问题。
Changes
- 删除了以前弃用的方法。#2317
- 由于
:matchText
pseduo-selector 对 DOM 的副作用,已将其弃用;改用新的::textnode
selector和Element#selectNodes(String css, Class<T> type)
方法。#2343 - 已弃用
Connection.Response#bufferUp()
,以代替Connection.Response#readFully()
,后者会抛出一个已检查的 IOException。 - 已弃用的内部方法
Validate#ensureNotNull(Object)
(由 typedValidate#expectNotNull(T)
替代);来自 Attribute 和 Node 的受保护 HTML 附加程序。 - 如果你碰巧正在使用任何已弃用的方法,官方建议立即借此机会迁移它们,因为它们将在未来的版本中被删除。
Improvements
- 增强了
Selector
,支持直接匹配注释和文本节点等节点。#2324 - 新增 TagSet#onNewTag(Consumer<Tag> customizer):注册一个回,当每个新的或克隆的标签插入到集合中时,都会调用该回调函数。该函数支持动态调整标签选项(例如,将所有自定义标签标记为自闭合,或将给定命名空间中的所有内容标记为保留空格)。#2330
- 使
TokenQueue
和CharacterReader
可自动关闭,以确保它们将缓冲区释放回缓冲池,以供以后重用。 - 添加了
Selector#evaluatorOf(String css)
,以更清晰的方式从 CSS 查询中获取评估器。这是QueryParser.parse(String css)
的别名。 - 可以将外部命名空间(例如 SVG)中的自定义标签(通过
TagSet
定义)配置为数据标签进行解析。 - 添加
NodeVisitor#traverse(Node)
以简化节点遍历调用(相对于导入NodeTraversor
)。 - 更新了默认用户代理字符串以提高兼容性。#2341
- HTML 解析器现在允许为已知标签自定义特定的文本数据类型 (Data、RcData)。(之前此功能仅支持自定义标签。)#2326
- 添加了
Connection.Response#readFully()
,以替代Connection.Response#bufferUp()
,并明确了 IOException。同样,添加Connection.Response#readBody()
代替Connection.Response#body()
。已弃用Connection.Response#bufferUp()
。#2327 - 序列化 HTML 时,属性中的
<
和>
字符现在会被转义。这有助于防止一类变异 XSS 攻击。#2337 - 已更改
Connection
为优先使用 JDK 的 HttpClient 而非 HttpUrlConnection(如果可用),以默认启用 HTTP/2 支持。用户可以通过禁用-Djsoup.useHttpClient=false
关闭该功能。#2340
Bug Fixes

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
DBeaver 25.1.1 发布
DBeaver 是一个免费开源的通用数据库工具,适用于开发人员和数据库管理员。DBeaver 25.1.1 已发布,更新内容如下: SQL Editor: 增加了对 CTE 列扩展的支持 增加了对 TSQL“TOP”表达式的支持 增加了对子查询中 CTE 名称的支持 在 DBeaver SQL 命令中禁用 SQL 自动补全功能 修复了使用列别名时长查询中的代码补全失败的问题 修复了执行搜索后大部分输出丢失的问题 AI 助手:GitHub Copilot 授权对话框得到改进 Metadata Editor: 添加了加载项目的进度可视化以及列表为空时的消息提示 修复索引等对象的排序 修复了调整堆叠多行字段大小时的布局问题 Data Editor:修复过滤器自动完成后的光标定位 Navigator: 修复了“Hide”和“Show Only”过滤选项,增加了使用参数按名称过滤的支持 修复删除打开的项目时发生的异常 Connectivity: 修复了添加 SSH 配置文件后 SSL 设置被删除的问题 重新设计了 DBeaver 连接配置文件,以改进结构和可用性 更改过期的数据库密码后,现在可以...
- 下一篇
Parcel v2.15.3 发布,零配置构建工具
Parcel 是用于 Web 的零配置构建工具。它将出色的开箱即用开发体验与可扩展的体系结构相结合,可将你的项目从零发展为大规模生产应用程序。 Parcel 2.15.3 已发布,具体更新内容包括: Fixed JavaScript 将行数和列数公开给macros –详细信息 React Server Components 当添加页面或客户端组件更改时使 ReactStaticPackager 中的缓存无效 -详细信息 修复 lazy mode with React Server Components –详细信息 修复@parcel/rsc重复类型 –详细信息 确保 react-static packager 中的 publicUrl 以斜杠结尾 –详细信息 修复 react-static packager 中的 hash reference 替换问题 –详细信息 更新说明:https://github.com/parcel-bundler/parcel/releases/tag/v2.15.3
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- MySQL8.0.19开启GTID主从同步CentOS8
- Hadoop3单机部署,实现最简伪集群
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题