如何从URI中删除片段

时间:2018-12-13 15:05:19

标签: java

我需要有关URI API的建议。

我正在像这样制作URI

new URI("http", "", "localhost", 9000, "/action", "param=1","")
res0: java.net.URI = http://@localhost:9000/action?param=1#

如您所见,它将“ @”放在localhost前面,而且我在URI的末尾看到“#”。我该如何摆脱这些?他们为什么要来?

2 个答案:

答案 0 :(得分:4)

该URI构造函数的第二个参数是userInfo ...将其设置为null,而不是空字符串。

new URI("http", null, "localhost", 9000, "/action", "param=1", null)

答案 1 :(得分:0)

您正在设置分别由'@'和'#'正确分隔的userInfo和片段。

URI u = new URI("https", null, "localhost", 8080, "/myapi", "q=all", null);
System.out.print(u);

给予

https://localhost:8080/myapi?q=all