【发布时间】:2013-04-05 16:15:54
【问题描述】:
我想使用 Newtonsoft.Json 将 CookieContainer 导出为 JSON,但不幸的是 CookieContainer 没有枚举器或其他东西,所以我无法循环遍历它...
编辑:使用我发布的解决方案,它会是这样的:
private static void Main(string[] args)
{
CookieContainer cookieContainer = new CookieContainer();
cookieContainer.Add(new Cookie("name1", "value1", "/", ".testdomain1.com"));
cookieContainer.Add(new Cookie("name2", "value1", "/path1/", ".testdomain1.com"));
cookieContainer.Add(new Cookie("name2", "value1", "/path1/path2/", ".testdomain1.com"));
cookieContainer.Add(new Cookie("name1", "value1", "/", ".testdomain2.com"));
cookieContainer.Add(new Cookie("name2", "value1", "/path1/", ".testdomain2.com"));
cookieContainer.Add(new Cookie("name2", "value1", "/path1/path2/", ".testdomain2.com"));
CookieCollection cookies = GetAllCookies(cookieContainer);
Console.WriteLine(JsonConvert.SerializeObject(cookies, Formatting.Indented));
Console.Read();
}
【问题讨论】:
-
我认为除了使用反射访问 CookieContainer 的私有字段(我不推荐)之外,没有其他方法可以获取所有 cookie。您应该只将 cookie 单独存储,并在需要时将它们放入 CookieContainer 中。
标签: c# .net cookiecontainer