正确的url编码空格字符

时间:2009-10-30 19:01:11

标签: asp.net-mvc urlencode

我使用HttpUtility.UrlEncode对路径中使用的任何值进行编码。

我已经解决了编码正斜杠的问题。我现在遇到的新问题是空格。空格编码为+。

这适用于VS集成的Web服务器,但我在Windows Server 2008上的IIS7中遇到了问题。 如果我有网址http://localhost/Home/About/asdas+sdasd

我收到错误404.11 - 请求包含双转义序列。

我知道我可以用“%20”替换空格,但我不想关心自己的编码器编码。有没有准备好在那里使用UrlEncoder for MVC?

3 个答案:

答案 0 :(得分:20)

''编码为%20使用HttpUtility.UrlPathEncode

答案 1 :(得分:0)

任何URL编码通常设计用于处理网址的路径组件,原因是因为不同的方案在安全列表中具有不同的字符。查找你的库urlencoder,只需在url的路径和上面部分使用它。

答案 2 :(得分:0)

@HttpUtility.UrlPathEncode(path)

UrlPathEncode只是对Url的路径进行编码,而不是对整个Url进行编码。