Asp.net和cookie的特殊字符



在asp.net中发现了一个非常有趣的问题:当添加值为test&使用

HttpCookie cookie = new HttpCookie("test", "test&");
Response.Cookies.Add(cookie);

,然后试图检索值请求。Cookies["test"]尾随&符号丢失。如果它没有尾随,它就没有丢失。在firebug或javascript数据是正确的,所以它是asp.net特定的我认为。当然大部分会说只用UrlEncode。但这真的有必要吗?是否有任何不允许的cookie租约列表(因为我认为它比url小)?我发现了类似的话题,但没有&限制列表中的符号:cookies中允许的字符

与符号是cookie中不允许的字符。有必要用UrlEncode方法对cookie数据进行编码。

System.Web.HttpUtility.UrlEncode(cookie);

参见以下问题/答案:

  • 如何在VB.NET的HTTPCookie中使用& ?

最新更新