2017-04-12 80 views
1

我在其中一个查询参数中有一个哈希键,它可以与其他特殊字符一起使用+ char。问题是当这个URL被解码时URLDecoder将+ char转换成空格。 有没有一种方法可以强制URLDecoder不会将'+'转换为空格。URLDecoder正在将'+'转换为空格

+2

比在接收端强制这种非标准行为更好的方法是修复发送端以'%2B'正确编码参数中的'+'字符。 – Henry

+0

为了安全起见,您应该将'+'编码为'%2B'而不是... – kennytm

回答

2

根据HTML URL Encoding Reference

网址不能包含空格。 URL编码通常会用加号(+)或%20替换空格。

+符号本身必须用%2B编码。所以如果你想在URL中传递你的哈希值作为GET参数,你应该在你的哈希中用%2B替换加号。不要在整个URL中替换每个+,因为您可能会破坏其他假设包含空格的字符串参数。

0

解码之前对你的字符串操作:然后

yourString.replaceAll("\\+", "%2b") 

解码器将显示+,它应该已经

相关问题