在C#中,可以使用HttpCookie
類來讀取Cookie信息。以下是一個(gè)簡單的示例,演示了如何從HTTP響應(yīng)中讀取Cookie并將它們保存到HttpCookieCollection
對(duì)象中:
using System;
using System.Web;
class Program
{
static void Main()
{
// 模擬一個(gè)HTTP響應(yīng),包含兩個(gè)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;";
// 創(chuàng)建一個(gè)HttpCookieCollection對(duì)象,用于存儲(chǔ)解析后的Cookie
HttpCookieCollection cookies = new HttpCookieCollection();
// 使用HttpWebRequest或HttpResponse對(duì)象從HTTP響應(yīng)中讀取Cookie
// 在這個(gè)示例中,我們直接使用字符串cookieHeader來模擬這個(gè)過程
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);
// 創(chuàng)建一個(gè)新的HttpCookie對(duì)象,并設(shè)置其名稱和值
HttpCookie newCookie = new HttpCookie(cookieName, cookieValue);
// 將新創(chuàng)建的Cookie添加到HttpCookieCollection對(duì)象中
cookies.Add(newCookie);
}
}
// 遍歷HttpCookieCollection對(duì)象,輸出每個(gè)Cookie的名稱和值
foreach (HttpCookie cookie in cookies)
{
Console.WriteLine("Cookie Name: " + cookie.Name + ", Cookie Value: " + cookie.Value);
}
}
}
在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)模擬的HTTP響應(yīng)頭,其中包含了兩個(gè)Cookie。然后,我們使用HttpCookieCollection
對(duì)象來存儲(chǔ)解析后的Cookie。接下來,我們遍歷模擬的HTTP響應(yīng)頭中的每一行,找到等號(hào)(=)的位置,從而提取出Cookie的名稱和值。最后,我們將解析出的Cookie添加到HttpCookieCollection
對(duì)象中,并遍歷該對(duì)象以輸出每個(gè)Cookie的名稱和值。