asp.net – URL编码冒号在400 Bad Request中解析
为什么这个网址会在400中解决 – 错误请求?
http://localhost:2785/api/ticker/Web.App.QuotesReaders/search=se%3Aabb 我的环境是Visual Studio 2010,MVC 4和使用的控制器是WebApiController. :是一个URL编码的冒号. 解 这有一些原因: http://localhost:2785/api/ticker?className=Web.App.QuotesReaders&search=se%3Aabb …这意味着,我无法在global.asax.cs中指定此路由: /api/ticker/{className}/{search} ……也不是…… /api/ticker/{className}/search={search} … 但是这个 … /api/ticker 欲了解更多信息:http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspx 解决方法
似乎ASP.net在’?’之前不允许冒号在URL中,即使它被编码为:.
例如,这些不起作用 http://foo.org/api/persons/foo:bar 但这有效: 在所有示例中,我们希望ASP.NET MVC将“foo:bar”作为id参数传递,并进行正确解码.我刚刚用MVC4对它进行了测试,它似乎有效.令人讨厌的是它不接受问号之前的URL编码,但我确信它有充分的理由.可能要在问号前面保留一切有效的URL和问号后面的任何参数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在asp.net中发布回发和浏览器后退按钮问题
- asp.net – 让Styles.Render()保留Razor模板的缩进?
- asp.net-mvc-4 – 如何在MVC4中删除必需的属性,尽管模型中已
- asp.net-mvc-4 – 如何让{controller} / {id} / {action}在
- asp.net – 如果找不到图像src,则隐藏input =“image”
- asp.net-mvc – 我想调试(设置一个断点)System.Web.Mvc.Def
- asp.net-mvc – 在布局页面上渲染脚本时出现奇怪错误
- asp.net – 使用Visual Studio 2008 Web部署项目 – 找到as
- asp.net中控件的AutoPostBack属性
- asp.net-mvc – 如何禁用自动完成在MVC Html助手