在编码/解码后的服务器端URL参数值看起来很奇怪。为什么?
问题描述:
在客户端(在浏览器中)的URL看起来像这样的:在编码/解码后的服务器端URL参数值看起来很奇怪。为什么?
http://www.google.com?param1=Name1%3DValue1
这意味着,该参数param1
具有价值Name1=Value1
在服务器端,我看,这param1
具有价值Name1=Value1
我发现信息,'=
'是HTML
字符“=
”的实体(十进制)。
主要问题,我没有完全访问服务器端的代码。
请您提供一些建议,我可以如何将HTML
实体转换为“=
”。 你怎么看,在服务器端的URL参数有HTML
实体还是它的bug是有效的情况?
答
这很奇怪。我迷失了为什么URL编码字符将被转换为编码的HTML实体。无论如何,如果你感兴趣的是把它转换成Name = Value,那么看看这段代码。
System.out.println(StringEscapeUtils.unescapeHtml("Name1=Value1"));
输出
名1 =值1
哪里StringEscapeUtils是Apache Commons Lang中的项目。
什么是服务器?任何框架?在调用堆栈中的哪个位置读取参数? “http://www.google.com”是你在谷歌上运行的吗? :) – Vitaly
东西是使用XML/HTML数字实体编码你的网址 - 你还没有告诉我们足够让我们甚至冒险猜测为什么。这不是任何标准处理链的正常部分。我建议在源代码中寻找类似“数字实体编码”的东西...... –