编码在Java中只对查询键和参数进行url编码的最佳方法是什么?
我只想编码url的查询键和参数(不想编码/、?或&;)。在Java中实现这一点的最佳方法是什么
例如,我想转换
http://www.hello.com/bar/foo?a=,b &c =d
到
http://www.hello.com/bar/foo?a=%2Cb%20&c%20=d
你可以在下面搜索框中键入要查询的问题!
我只想编码url的查询键和参数(不想编码/、?或&;)。在Java中实现这一点的最佳方法是什么
例如,我想转换
http://www.hello.com/bar/foo?a=,b &c =d
到
http://www.hello.com/bar/foo?a=%2Cb%20&c%20=d
# 1 楼答案
构建url,如下所示:
# 2 楼答案
我将离开实际的component encoding as a user-supplied function,因为它是一个已经存在且讨论得很好的问题,没有一个简单的JCL解决方案。。在任何情况下,下面是我在不使用第三方库的情况下如何处理这个特定问题的方法
虽然正则表达式有时会导致two problems,但我不太愿意建议一种更严格的方法,比如URI,因为我不知道它将如何——或者甚至是否会——处理这些令人讨厌的无效URL。因此,这里是一个使用带有dynamic replacement value的正则表达式的解决方案
请参见ideone example示例,其中填充了
encodeURIComponent