我有一个 REST 服务,当我尝试调用一个具有 REST 服务的项目时&在它的名字中,我得到了上面的错误,如果我没有编码,这将是有意义的&
所以这是我的电话:
http://localhost:57851/myService/Servers/myServer/Repositories/myRepository/Models/Mine%26Yours http://localhost:57851/myService/Servers/myServer/Repositories/myRepository/Models/Mine%26Yours
您可以看到“Mine&Yours”已被编码为“Mine%26Yours”,因此应该是安全的。
但请求正在被接受,就好像我没有对其进行编码一样。
有任何想法吗?
Edit:
这与 ()
无论您是否对 ASP.NET 进行编码,这都没有什么区别&
符号与否。看这个答案:https://stackoverflow.com/a/12037000/134761 https://stackoverflow.com/a/12037000/134761
要允许 URL 路径中存在特殊字符,您应该修改requestPathInvalidCharacters
参数输入web.config
像这样:
<httpRuntime requestPathInvalidCharacters="" />
或者如果您只想允许&
但不允许所有其他特殊字符:
<httpRuntime requestPathInvalidCharacters="<,>,*,%,\"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)