在编码/解码后的服务器端URL参数值看起来很奇怪。为什么?

问题描述:

在客户端(在浏览器中)的URL看起来像这样的:在编码/解码后的服务器端URL参数值看起来很奇怪。为什么?

http://www.google.com?param1=Name1%3DValue1 

这意味着,该参数param1具有价值Name1=Value1

在服务器端,我看,这param1具有价值Name1=Value1

我发现信息,'='是HTML字符“=”的实体(十进制)。

主要问题,我没有完全访问服务器端的代码。

请您提供一些建议,我可以如何将HTML实体转换为“=”。 你怎么看,在服务器端的URL参数有HTML实体还是它的bug是有效的情况?

+0

什么是服务器?任何框架?在调用堆栈中的哪个位置读取参数? “http://www.google.com”是你在谷歌上运行的吗? :) – Vitaly

+0

东西是使用XML/HTML数字实体编码你的网址 - 你还没有告诉我们足够让我们甚至冒险猜测为什么。这不是任何标准处理链的正常部分。我建议在源代码中寻找类似“数字实体编码”的东西...... –

这很奇怪。我迷失了为什么URL编码字符将被转换为编码的HTML实体。无论如何,如果你感兴趣的是把它转换成Name = Value,那么看看这段代码。

System.out.println(StringEscapeUtils.unescapeHtml("Name1=Value1")); 

输出

名1 =值1

哪里StringEscapeUtils是Apache Commons Lang中的项目。