解决异常 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");
相关推荐
U***e636 小时前
Python测试
开发语言·python
四谎真好看6 小时前
Java 黑马程序员学习笔记(进阶篇28)
java·笔记·学习·学习笔记
晨晖27 小时前
springboot的Thymeleaf语法
java·spring boot·后端
yi碗汤园7 小时前
Visual Studio常用的快捷键
开发语言·ide·c#·编辑器·visual studio
p***95007 小时前
【SpringBoot】日志文件
java·spring boot·spring
Elias不吃糖7 小时前
NebulaChat:C++ 高并发聊天室服务端
开发语言·c++·redis·sql·项目文档
b***66617 小时前
【springboot】健康检查 监控
java·spring boot·后端
haofafa7 小时前
JavaScript性能优化实战
开发语言·javascript·性能优化
明洞日记7 小时前
【设计模式手册010】组合模式 - 树形结构的优雅处理
java·设计模式·组合模式
帅中的小灰灰7 小时前
C++编程策略设计模式
开发语言·c++·设计模式