解决异常 java.net.URISyntaxException: Illegal character in query at index

java.net.URISyntaxException 表示你在尝试创建一个 URI 对象时,传递了一个非法的 URI 字符串

这个异常通常是因为 URI 字符串中包含了不合法的字符,比如空格、特殊字符等。在 URI 中,某些字符是需要进行编码的,例如空格会被编码为 %20

要解决这个异常,亲测以下几个方法:

检查 URI 字符串 :仔细检查你传递给 new URI() 构造函数的字符串,确保其中不包含非法字符。

对 URI 进行编码 :如果 URI 字符串中包含了特殊字符或空格,你可以使用 Java 提供的 URLEncoder 类对它们进行编码,然后再传递给 new URI()

复制代码
String urlString = "https://example.com/page with space";
String encodedUrlString = URLEncoder.encode(urlString, "UTF-8");
URI uri = new URI(encodedUrlString);

使用 URL :如果你只需要对 URL 进行简单的操作,你可以考虑使用 URL 类,它对 URL 进行了更高层次的封装,并提供了一些方便的方法。

复制代码
URL url = new URL("https://example.com/page with space");
相关推荐
xin_nai6 分钟前
LeetCode热题100(Java)(6)矩阵
java·leetcode·矩阵
geovindu7 分钟前
go: Visitor Pattern
开发语言·设计模式·golang·访问者模式
宣宣猪的小花园.8 分钟前
C语言重难点全解析:内存管理到位运算
c语言·开发语言·单片机
方安乐4 小时前
python之向量、向量和、向量点积
开发语言·python·numpy
代码AI弗森5 小时前
一文理清楚“算力申请 / 成本测算 / 并发评估”
java·服务器·数据库
Old Uncle Tom6 小时前
OpenClaw 记忆系统 -- 记忆预加载
java·数据结构·算法·agent
小小小米粒6 小时前
Collection单列集合、Map(Key - Value)双列集合,多继承实现。
java·开发语言·windows
摇滚侠6 小时前
expdp 查看帮助
java·数据库·oracle
czhc11400756637 小时前
C# 428 线程、异步
开发语言·c#
:1217 小时前
java基础
java·开发语言