gpt4 book ai didi

asp.net - URLRewriter 查询字符串中的 & 符号

转载 作者:行者123 更新时间:2023-12-02 02:37:56 25 4
gpt4 key购买 nike

我有一个包含 & 符号的查询字符串参数值。例如,参数的有效值可能是:

a & b

当我生成包含该参数的 URL 时,我使用 System.Web.HTTPUtility.UrlEncode() 使每个元素的 URL 友好。它(正确地)给我一个像这样的 URL:

http://example.com/foo?bar=a+%26b

问题是 ASP.NET 的 Request 对象将(编码的)&符号解释为查询字符串参数定界符,因此将我的值分成两部分(第一部分的参数名称是“bar”;第二部分是空名称)。

看来 ASP.NET 首先对 URL 进行 URL 解码,然后在解析查询字符串时使用它。

解决此问题的最佳方法是什么?


更新:问题取决于 URLRewriter (第三方插件)而不是 ASP.NET 本身。我更改了标题以反射(reflect)这一点,但我将按原样保留问题文本的其余部分,直到我找到有关该问题的更多信息。

最佳答案

男人,我和你在同一条船上,我花了很多时间试图找出问题所在,正如你所说,这两者都是错误,因为包含奇怪字符或 UTF-8 代码字符的普通链接是由 asp.net 正确解析。

我认为我们必须切换到 MVC.routing

更新:你不会相信的,我发现这个问题很奇怪,它与 IIS 有关,尝试从 visual studio Dev server 启动你的页面,Unicode 字符将被解析得很好,但如果你从 IIS 7 启动页面,它会给你 ????字符。

希望有人能在这里遮挡一些光线

关于asp.net - URLRewriter 查询字符串中的 & 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/529857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com