今天做东西,遇到这样一个问题:
在C#中给Cookies的Value逗号的话,就会报错,然后在msdn上找到问题的答案,不允许使用逗号。
http://msdn.microsoft.com/zh-cn/library/kesbe27x(VS.95).aspx
name 包含未经授权的字符。使用以下字符之一将会导致异常:
等号 (=)
分号 (;)
逗号 (,)
换行符 (\n)
回车符 (\r)
制表符 (\t)
空格字符
美元符号 ($) 作为第一个字符
– 或 –
value 为 null 引用(在 Visual Basic 中为 Nothing),或者包含分号 (;) 或逗号 (,),而它们不包含在转义的双引号中。
备注
逗号字符保留用作同一行上各个 Cookie 之间的分隔符。下面的示例演示如何在 value 中使用逗号。
System.Net.Cookie cookie = new System.Net.Cookie(“cookieID”, “\”123,456\””);
System.Net.Cookie cookie = new System.Net.Cookie(“cookieID”, “\”123,456\””);
这个是可以了,但是那我真正的Value值里面就有一个逗号,而没有被双引号包围的怎么办,像下面这个?
System.Net.Cookie cookie = new System.Net.Cookie(“cookieID”, “,\”123,456\””);
在CSDN上面提问有大家的回答,但是没找到什么有用的内容,都是不相关的。。。
后来多亏游戏狐狸大棍子,搞出来了,嘎嘎
其实”,”可以用%2C代替,就是URLEncode,不是大家所说的Base64。