Search code examples
c#.nethttpcookie

Exception calling Add. Part of cookie is invalid


I am using the Add method of System.Net.CookieContainer. It has worked well over the years but suddenly I am getting:

Exception calling "Add" with "2" argument(s): "The 'Value'='321,386,%2F%3Fa%3D1,http%3A%2F%2Fwww.xxxx.com%2Fpremium%2Fmoney' part of the cookie is invalid."

I was adding a cookie returned from a web page. The raw header from the web page is:

...
_chartbeat_uuniq=1;
_chartbeat5=321,386,%2F%3Fa%3D1,http%3A%2F%2Fwww.xxx.com%2Fpremium%2Fmoney;
gs_p_GSN-375009-Z=0;
...

What is wrong with the cookie value? Is it the comma?


Solution

  • You should encode the cookie value. The .NET method is UrlEncode in the System.Web.HttpUtility API. In .NET Framework, this UrlEncode method was provided by the System.Web.HttpServerUtility API. See also this SO answer.