【发布时间】:2021-10-12 18:16:46
【问题描述】:
我正在尝试创建一个 URL,其中查询参数包含符号 &。当我将它传递给 Java.net.uri(https://docs.oracle.com/javase/8/docs/api/java/net/URI.html) 类构造函数时,它没有将 & 符号编码为 %26。
示例:https://www.anexample.com:443/hello/v5/letscheck/image/down?name=tom&jerry&episode=2
现在 tom&jerry 是查询参数的值,但是当我们将它传递给 Java.net.uri 构造函数时,它会编码所有空格和特殊符号,但不会将 & 编码为 %26。
所以 tom 和 jerry 都变成了我不想要的单独的查询参数。
代码如下所示:
String query = "name=tom&jerry&episode=2"
URI uri = new URI(scheme, null, host, port, path, query, null);
我也尝试过自己对查询参数进行编码,然后将其发送到构造函数,如下所示:
String query = "name=tom%26jerry&episode=2"
URI uri = new URI(scheme, null, host, port, path, query, null);
但在这种情况下,编码参数变为 tom%2526jerry,因为 % 被编码为 %25
那么我该如何对其进行编码,以便将 & 作为查询参数发送到内部?
【问题讨论】:
标签: java android kotlin urlencode