解决异常 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");
相关推荐
殷紫川3 分钟前
深入拆解 Fork/Join 框架:核心原理、分治模型与参数调优实战
java
不爱吃炸鸡柳3 分钟前
算法复杂度从入门到精通:时间与空间复杂度全解析
开发语言·c++·算法
yaaakaaang7 分钟前
十六、解释器模式
java·解释器模式
若阳安好8 分钟前
【提效小工具】IN SQL、UPDATE SQL、INSERT SQL
java·数据库·sql
游乐码12 分钟前
c#lambad表达式
开发语言·c#
乐之者v15 分钟前
20多个表,每个都有userId 和其他几个属性,要根据userId把他们全部汇总,如何处理?
java·mysql
weixin_4080996728 分钟前
python请求文字识别ocr api
开发语言·人工智能·后端·python·ocr·api·ocr文字识别
惊鸿若梦一书生30 分钟前
《Python 高阶教程》003|变量背后不是盒子:名字、对象与引用的本质
java·jvm·python
不爱吃炸鸡柳33 分钟前
C++ 进阶:unordered_map 与 unordered_set 超全详解(哈希容器实战)
开发语言·c++·哈希算法
gelald43 分钟前
SpringBoot - Actuator与监控
java·spring boot·后端