在 Java 中对 URL 查询参数进行编码
如何在Java中对查询参数进行编码以转到URL上?我知道,这似乎是一个显而易见的、已经提出的问题。
有两个微妙之处我不确定:
- 是否应该在 url 上将空格编码为“+”或“%20”?在chrome中,如果我键入“http://google.com/foo=?bar 我”,chrome会将其更改为使用%20进行编码
- 是否有必要/正确地将冒号“:”编码为%3B?Chrome 没有。
笔记:
-
java.net.URLEncoder.encode
似乎不起作用,它似乎是用于编码数据以提交表单。例如,它将空格编码为 而不是 ,并对不需要的冒号进行编码。+
%20
-
java.net.URI
不对查询参数进行编码