Java 在HTTP调用中使用特殊符号对参数进行编码

Java 在HTTP调用中使用特殊符号对参数进行编码,java,http,urlencode,url-encoding,Java,Http,Urlencode,Url Encoding,我的url中的字符串参数具有特殊符号(1008~38 | 1011~21 | 1022~26) 在Java中使用Java HttpUrlConnection对服务进行http post调用 targeturl = http://localhost.com/myapp/destinations=1008~38|1011~21|1222~26 URL url = new URL(targeturl) 生成的url如下,看起来已经编码 不确定是否也必须对字符“~”进行编码。请帮助这似乎是正确的,

我的url中的字符串参数具有特殊符号(1008~38 | 1011~21 | 1022~26)

在Java中使用Java HttpUrlConnection对服务进行http post调用

targeturl = http://localhost.com/myapp/destinations=1008~38|1011~21|1222~26
URL url = new URL(targeturl) 
生成的url如下,看起来已经编码


不确定是否也必须对字符“~”进行编码。请帮助

这似乎是正确的,因为所有url都应该是utf-8编码的。百分比代码确实与utf-8代码匹配。瓷砖~也应该编码吗?据我所知,您不需要编码瓷砖。如果ascii表中有字符,则不需要对其进行%s。如果url是utf-8编码的,则无需对任何内容进行%编码。这是可选的。编辑:如果URL构造函数无法构造格式良好的URL,则会引发异常:)