CookieException with cookicontainer: The 'Path'部分coo

本文关键字:Path 部分 coo with cookicontainer The CookieException | 更新日期: 2023-09-27 17:54:58

我正在尝试设置cookie的路径,但我总是收到错误:

CookieException: The 'Path'='/applogin'部分cookie无效

代码是这样的:

Cookie newCookie = new Cookie("JSESSIONID", session.SessionId, "/applogin", "domain.com");
newCookie.Secure = true;
webRequest.CookieContainer.Add(new Uri(@"https://domain.com"), newCookie);
然后在最后一行抛出

异常…有人能给我指个方向吗?

CookieException with cookicontainer: The 'Path'部分coo

在您的情况下,您有两个url:一个是https://domain.com,第二个是https://domain.com/applogin。让我们假设CookieContainer包含了path/applogin的cookie。这意味着,如果您尝试检索url https://domain.com/applogin的cookie列表,您将获得一个cookie。如果您将尝试检索url https://domain.com的cookie -您将获得0个cookie。

现在让我们看一下你们的样品。您有https://domain.com/applogin的cookie,您正试图将其添加到url https://domain.com的CookieContrainer中。CookieContainer验证此cookie不能用于特定url,因为它是针对不同url的问题。在您的情况下,您需要更改添加cookie: 的行
webRequest.CookieContainer.Add(new Uri(@"https://domain.com/applogin"), newCookie);

或者我猜你想用这个cookie为整个domain.com -那么你需要改变你如何创建它

Cookie newCookie = new Cookie("JSESSIONID", session.SessionId, "/", "domain.com");

在某些浏览器中,路径是区分大小写的。确保对"/applogin"的所有引用都与大小写完全匹配。

http://msdn.microsoft.com/en-us/library/ms178194%28v=vs.85%29.aspx

Cookie名称:-不能为null或空-不能以' '开头和结尾不能被包括服务的象征,比如' r, ' ' n ', ' ' t ', '=', ';',','-不能以'$'开头

输入图片描述