.net - 带有 url 编码和符号的查询字符串在 Request.Url 中过早解码

标签 .net asp.net query-string sitecore url-encoding

给定 url /Page.aspx?a=b&title=apples+%26+pearsRequest.Url 属性返回 /Page.aspx?a=b&title =苹果+&+梨

请注意,第二个键值对中的 url 编码的 & 符号已被自动解码。 其他 url 编码的保留字符不会自动解码。

这种行为正确吗?

编辑:问题是 Request.Url 属性在我不期望的情况下自动解码编码的&符号。

答案: string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Host, Sitecore.Context. Request.RawUrl)

最佳答案

Request

Url 属性在名为 CollapsePercentUFromStringInternal 的内部方法中进行解码。

您可以在反射器中看到这一点。无论如何,我认为这是默认行为

更新

您可以使用 RawUrl 属性来获取未解码的 URL。

关于.net - 带有 url 编码和符号的查询字符串在 Request.Url 中过早解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3986736/

相关文章:

asp.net - 使用 WebSockets 服务器端的基本要求是什么?

javascript - 单击按钮发送 Ajax 调用并从 aspx.cs(代码隐藏)获取值到 aspx 页面并将其显示在同一页面的输入字段中

ASP.NET 多个联合身份提供商

rest - 如果我使用 HTTP 方法 POST 来获取数据是否有效?

javascript - 两个 window.location 不能一起工作

c# - Azure函数应用程序: TimerTrigger not Firing when Deployed

.net - 为什么 .NET 不验证 BCL/CLR?

c# - 当对象不是字符串时,如何将对象转换为字符串?

c# - 如何检查 MemoryCache 中是否存在键

url - 在查询字符串中使用逗号可能产生副作用?