在ASP.NET中,有没有什么办法可以获得真实的原始URL?ASP.NET:获取*真实*原始URL
例如,如果用户浏览到“http://example.com/mypage.aspx/%2F”,我希望能够得到“http://example.com/mypage.aspx/%2F”而不是“http://example.com/mypage.aspx//”。
我当然会喜欢一种干净的方式来做到这一点,但我可以使用反射或访问不明确的属性hacky方法生活。
目前,我尝试在Authorization-header(工作)中使用uri,但我不能依赖那个始终在那里。
编辑:
我真正想要做的是能“http://example.com/mypage.aspx/%2F”和“http://example.com/mypage.aspx/%2F%2F”区别开来。
它看起来像ASP.NET首先将“%2F%2F”转换为“//”,然后将斜杠转换为单斜杠。
所以只是重新编码它不会工作。
这是正确的解决方案。它解决了路径中存在编码时的问题。来自服务器变量的HTTP_URL将显示解码版本,并且此解决方案提供了正确的编码版本。 – 2014-05-05 13:44:13