如何在c#中读取cookie信息

avatar
作者
筋斗云
阅读量:0

在C#中,可以使用HttpCookie类来读取Cookie信息。以下是一个简单的示例,演示了如何从HTTP响应中读取Cookie并将它们保存到HttpCookieCollection对象中:

using System; using System.Web;  class Program {     static void Main()     {         // 模拟一个HTTP响应,包含两个Cookie         string cookieHeader = "Set-Cookie: name1=value1; expires=Thu, 01 Jan 2030 00:00:00 UTC; path=/; domain=.example.com; HttpOnly\r\nSet-Cookie: name2=value2; expires=Thu, 01 Jan 2030 00:00:00 UTC; path=/; domain=.example.com;";          // 创建一个HttpCookieCollection对象,用于存储解析后的Cookie         HttpCookieCollection cookies = new HttpCookieCollection();          // 使用HttpWebRequest或HttpResponse对象从HTTP响应中读取Cookie         // 在这个示例中,我们直接使用字符串cookieHeader来模拟这个过程         string[] cookiePairs = cookieHeader.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);          foreach (string cookiePair in cookiePairs)         {             int eqPos = cookiePair.IndexOf('=');             if (eqPos != -1)             {                 string cookieName = cookiePair.Substring(0, eqPos);                 string cookieValue = cookiePair.Substring(eqPos + 1);                  // 创建一个新的HttpCookie对象,并设置其名称和值                 HttpCookie newCookie = new HttpCookie(cookieName, cookieValue);                  // 将新创建的Cookie添加到HttpCookieCollection对象中                 cookies.Add(newCookie);             }         }          // 遍历HttpCookieCollection对象,输出每个Cookie的名称和值         foreach (HttpCookie cookie in cookies)         {             Console.WriteLine("Cookie Name: " + cookie.Name + ", Cookie Value: " + cookie.Value);         }     } } 

在这个示例中,我们首先创建了一个模拟的HTTP响应头,其中包含了两个Cookie。然后,我们使用HttpCookieCollection对象来存储解析后的Cookie。接下来,我们遍历模拟的HTTP响应头中的每一行,找到等号(=)的位置,从而提取出Cookie的名称和值。最后,我们将解析出的Cookie添加到HttpCookieCollection对象中,并遍历该对象以输出每个Cookie的名称和值。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!