一个好用的C# HttpCookieHelper.cs类

 1  using System;  
 2 using System.Collections.Generic;  
 3 using System.Text;  
 4 using System.Text.RegularExpressions;  
 5   
 6 namespace DotNet.Utilities  
 7 {  
 8      /// <summary>  
 9     /// Cookie操作帮助类  
10     /// </summary>  
11     public static class HttpCookieHelper  
12     {  
13         /// <summary>  
14         /// 根据字符生成Cookie列表  
15         /// </summary>  
16         /// <param name="cookie">Cookie字符串</param>  
17         /// <returns></returns>  
18         public static List<CookieItem> GetCookieList(string cookie)  
19         {  
20             List<CookieItem> cookielist = new List<CookieItem>();  
21             foreach (string item in cookie.Split(new string[] { ";", "," }, StringSplitOptions.RemoveEmptyEntries))  
22             {  
23                 if (Regex.IsMatch(item, @"([sS]*?)=([sS]*?)$"))  
24                 {  
25                     Match m = Regex.Match(item, @"([sS]*?)=([sS]*?)$");  
26                     cookielist.Add(new CookieItem() { Key = m.Groups[1].Value, Value = m.Groups[2].Value });  
27                 }  
28             }  
29             return cookielist;  
30         }  
31   
32         /// <summary>  
33         /// 根据Key值得到Cookie值,Key不区分大小写  
34         /// </summary>  
35         /// <param name="Key">key</param>  
36         /// <param name="cookie">字符串Cookie</param>  
37         /// <returns></returns>  
38         public static string GetCookieValue(string Key, string cookie)  
39         {  
40             foreach (CookieItem item in GetCookieList(cookie))  
41             {  
42                 if (item.Key == Key)  
43                     return item.Value;  
44             }  
45             return "";  
46         }  
47         /// <summary>  
48         /// 格式化Cookie为标准格式  
49         /// </summary>  
50         /// <param name="key">Key值</param>  
51         /// <param name="value">Value值</param>  
52         /// <returns></returns>  
53         public static string CookieFormat(string key, string value)  
54         {  
55             return string.Format("{0}={1};", key, value);  
56         }  
57     }  
58   
59     /// <summary>  
60     /// Cookie对象  
61     /// </summary>  
62     public class CookieItem  
63     {  
64         /// <summary>  
65         ///66         /// </summary>  
67         public string Key { get; set; }  
68         /// <summary>  
69         ///70         /// </summary>  
71         public string Value { get; set; }  
72     }  
73 }  
原文地址:https://www.cnblogs.com/anlaoliu/p/7249203.html