我正在使用VS2015,C#。
我的Cookie值是:
提供商=定制&安培; Email=someemail@gmail.com&用户名=约翰&安培;姓=测试&安培;名字= LastTest&安培;过期= 2016年7月11日 11时03分05秒
我试图通过以下方式获得此值:
HttpContext context = HttpContext.Current;
HttpCookie cookie = context.Request.Cookies["Login"];
string provider = cookie["Provider"];
string email = cookie["Email"];
提供商和电子邮件均为空。如何从cookie中获取值?
修改
Cookie保存为:
HttpCookie cookie = new HttpCookie("Login");
cookie["Provider"] = "Custom";
cookie["Email"] = "test@gmail.com";
Response.Cookies.Add(cookie);
第二次编辑
我认为问题是加密。我正在使用自己的加密机制。 Cookie.value在解密后看起来很好,但Cookie.Values与原始有点不同。我认为这就是问题所在。
Cookie.Value (before encryption): Provider=Custom&Email=test@gmail.com
Cookie.Value (after decryption): Provider=Custom&Email=test@gmail.com
Cookie.Values (before encryption) :{Provider=Custom&Email=test%40gmail.com}
Cookie.Value (after decryption - is different): {Provider%3dCustom%26Email%3dtest%40gmail.com}
答案 0 :(得分:0)
尝试以下
HttpCookie cookie1 = Request.Cookies["Login"];
if (cookie1 != null)
{
string provider = cookie1["Provider"].ToString();
string email = cookie1["Email"].ToString();
}