如何在java URI的密码中处理“@”?
发布时间:2020-12-15 02:09:24 所属栏目:Java 来源:网络整理
导读:我有一个URL“ssh:// root:zstackqwe:!@#172.16.36.184”,其中包含密码部分中的“@”和“:”.我使用 java.net.URI来包装字符串,如: URI u1 = new URI("ssh://root:zstackqwe:!@#@172.16.36.184/");System.out.println(u1.getAuthority());System.out.p
我有一个URL“ssh:// root:zstackqwe:!@#172.16.36.184”,其中包含密码部分中的“@”和“:”.我使用
java.net.URI来包装字符串,如:
URI u1 = new URI("ssh://root:zstackqwe:!@#@172.16.36.184/"); System.out.println(u1.getAuthority()); System.out.println(u1.getHost()); 输出是: root:zstackqwe:!@ null 当主机部分返回null时,权限部分是正确的.应该如何正确处理这些特殊的字符? 更新: 字符串“ssh:// root:zstackqwe:!@#@ 172.16.36.184”是一个没有任何编码的原始字符串,从API传递到我的应用程序.我无法使用UIR(字符串)以外的构造函数.所以我正在寻找一种方法来处理原始字符串,使其与jave.net.URI一起使用. 解决方法
如果它是URI使用百分比编码.
URI u1 = new URI("ssh://root:zstackqwe%3a!%40%23@172.16.36.184/"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 如果lisp中的字符串是向量,为什么我不能使用svre
- java – 从Stream获取两个不同的输出
- java – 如何从多模块maven项目中构建可执行jar?
- java – 使用普通的类方法调用actionPerformed方
- loadrunner+win2003虚拟机的安装
- java – NoSuchFieldError:INCLUDE_ALL(Web服务
- java – 使用MockRestServiceServer模拟REST调用
- java – 使用Collections.frequency()打印某些值
- Java实现在线预览的示例代码(openOffice实现)
- JNLP应使用特定的Java版本,但会出现错误结果
热点阅读