You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jsoup 1.15.3 URL编码异常求助:特殊字符URL及重定向失败

Jsoup URL编码逻辑缺陷修复请求及临时解决方案

问题描述

  • 使用jsoup 1.15.3抓取网页时,未编码的URL会抛出MalformedUrlException
  • 内置的org.jsoup.helper.HttpConnection#encodeUrl(java.net.URL)方法无法覆盖所有URL编码场景,例如包含[和]的URL会触发编码失败
  • 即使手动编码原始URL,若请求过程中遇到重定向到需编码的URL,仍会报错,该错误源于org.jsoup.helper.CookieUtil#asUri方法(旧版本jsoup无此问题)

临时解决方案

目前可通过Spring的UriComponentsBuilder实现完整的URL编码,代码示例如下:

import org.springframework.web.util.UriComponentsBuilder;
final String encodedUrl = UriComponentsBuilder
  .fromUriString(url)
  .build()
  .encode()
  .toUri()
  .toString();

也可以通过禁用重定向、手动编码每个跳转URL来规避问题,但这种方式操作繁琐,不适合大规模场景。

修复诉求

希望jsoup官方能从根源修复URL编码逻辑,覆盖更多特殊字符的编码场景,同时修正CookieUtil#asUri方法在重定向过程中的URL处理逻辑,无需用户手动干预即可完成正确的URL编码,惠及所有jsoup使用者。

内容的提问来源于stack exchange,提问作者dorfri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 10:21:12