java - 在服务器端,编码/解码后的 URL 参数值看起来为 'strange' 。为什么?

标签 java server-side urlencode html-entities urldecode

在客户端(在浏览器中)URL 如下所示:

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

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

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

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

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

您能否提供一些如何将 HTML 实体转换为“=”的建议。 您认为服务器端 URL 参数具有 HTML 实体的情况是有效的还是错误?

最佳答案

这很奇怪。我不明白为什么 URL 编码的字符会被转换为编码的 HTML 实体。无论如何,如果您感兴趣的只是将其转换为 Name=Value,请查看此代码。

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

输出

Name1=Value1

哪里StringEscapeUtils来自 apache commons lang 项目。

关于java - 在服务器端,编码/解码后的 URL 参数值看起来为 'strange' 。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15785759/

相关文章:

asp.net-mvc - 如何在 ASP.NET MVC 中不转义 URL 参数?

java - 从 Android 向 Node.js 服务器发送图像会以 URL 样式进行编码,无法很好地解码

java - 从 Java 源文件中获取类注解

java - NS3 C++ UdpEchoClientApplication 错误

java - 如何从命令行配置 JaCoCo maven 插件

c# - 返回一个字符串数组?

php - 使用 PayPal 结帐 REST 的捐赠是否需要服务器端验证?

java - JDK8 LocalDate.toEpochDay 性能异常下降

Linux 上的 C# 服务器可伸缩性问题

python - 如何在 Python 中对查询字符串进行 urlencode?