【问题标题】:Send commas in value for HttpWebRequest cookie为 HttpWebRequest cookie 发送逗号值
【发布时间】:2014-07-15 11:26:15
【问题描述】:

我正在尝试向 Asp.net 页面发送带有请求的 cookie。据我了解,它期望 cookie 值不会被编码。如果我对值进行编码,它不会注册它。

CookieContainer 不会让我向其中添加非编码值。我似乎找不到工作...

我的代码本质上是

HttpWebRequest request = (HttpWebRequest) HttpWebRequest.Create(@"http:\\whatever");
string cookieName = "whatevername";
string cookieValue = "version=1&Type=a,b,c,d,e,f";
Cookie cook = new Cookie(cookieName, cookieValue, "/", "mypage");
CookieContainer cookies = new CookieContainer();
cookies.Add(cook);
request.CookieContainer = cookies;

这会抛出一个 CookieException 说“The 'Value'='version=1&Type=a,b,c,d,e,f' part of the cookie is invalid.

【问题讨论】:

  • 为什么不添加 2 个单独的值 versionType
  • 问题不在于&,而在于逗号。

标签: c# asp.net cookies


【解决方案1】:

你可以试试UrlEncoding值。

HttpWebRequest request = (HttpWebRequest) HttpWebRequest.Create(@"http:\\whatever");
string cookieName = "whatevername";
string cookieValue = "version=1&Type=a,b,c,d,e,f";
Cookie cook = new Cookie(cookieName, Server.UrlEncode(cookieValue), "/", "mypage");
CookieContainer cookies = new CookieContainer();
cookies.Add(cook);
request.CookieContainer = cookies;

【讨论】:

猜你喜欢
  • 2013-06-13
  • 2015-09-16
  • 1970-01-01
  • 2014-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
相关资源
最近更新 更多