我刚刚遇到了一些很奇怪的事情,但我还没有在其他有同样问题的人的互联网上找到任何提及。
如果我使用双重编码的 url 访问我的 ASP.NET 应用程序,那么Request["myQueryParam"]
它将为我对查询进行双重解码。这是不可取的,因为我有充分的理由对我的查询字符串进行了双重编码。
其他人能否确认我没有做明显错误的事情,以及为什么会发生这种情况。防止它的解决方案,而不做一些讨厌的查询字符串解析,也会很棒!
(供参考 %25 是 % 符号)
然后查看Request["originalUrl"]
(页面或控制器)返回的字符串是:
http://localhost/Action/Redirect?Url=/someUrl?utm_medium=abc&utm_source=abc&utm_campaign=abc
我希望:
我还检查了 Fiddler,并且 URL 已正确传递到服务器(一个可能的罪魁祸首可能是浏览器在发送之前对 URL 进行解码)。