CookieException与CookieContainer:Cookie的"路径"部分无效

Woo*_*lli 8 c# cookies windows-phone-8

我正在尝试设置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);
Run Code Online (Sandbox Code Playgroud)

然后在最后一行抛出异常......有人能指出我正确的方向吗?

out*_*man 10

在你的情况下,你有两个网址:一个是a https://domain.com,第二个是https://domain.com/applogin.我们假设CookieContainer包含路径/ applogin的cookie.这意味着如果您尝试检索网址的Cookie列表,https://domain.com/applogin您将获得一个Cookie.如果您尝试检索网址的Cookie,https://domain.com您将获得0个Cookie.

现在让我们来看看你的样本.您有一个cookie,https://domain.com/applogin并且您正尝试将其添加到CookieContrainer中以获取URL https://domain.com.CookieContainer验证此cookie不能用于特定网址,因为它是针对不同网址的问题.在您的情况下,您需要更改添加cookie的行:

webRequest.CookieContainer.Add(new Uri(@"https://domain.com/applogin"), newCookie);
Run Code Online (Sandbox Code Playgroud)

或者我想你想将这个cookie用于整个domain.com - 然后你需要改变你创建它的方式

Cookie newCookie = new Cookie("JSESSIONID", session.SessionId, "/", "domain.com");
Run Code Online (Sandbox Code Playgroud)


Jus*_*ess 0

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

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