如何在Java中将查询参数编码为URL?我知道,这似乎是一个显而易见且已经提出的问题。我不确定有两个微妙之处:网址上的空格应该编码为“ +”还是“%20”?在chrome中,如果我输入“ http://google.com/foo=?bar me”,则chrome会将其更改为使用%20进行编码是否有必要/正确将冒号“:”编码为%3B?Chrome没有。笔记:java.net.URLEncoder.encode似乎不起作用,似乎是要对要编码的数据进行表单提交。例如,它将空格编码为,+而不是%20,并编码不必要的冒号。java.net.URI 不编码查询参数
3 回答
守候你守候我
TA贡献1802条经验 获得超10个赞
URIUtil在更新的版本中不再可用,在Java上更好的答案-编码URL或Sindi先生在此线程中。
URIUtilApache httpclient的确很有用,尽管有一些替代方法
URIUtil.encodeQuery(url);
例如,它将空格编码为“ +”而不是“%20”
两者在适当的情况下都是完全有效的。虽然如果您确实喜欢,可以发出字符串替换。
添加回答
举报
0/150
提交
取消