📜  c# webrequest cookies - C# (1)

📅  最后修改于: 2023-12-03 15:29:46.423000             🧑  作者: Mango

C# WebRequest Cookies

简介

当在C#中进行Web请求时,经常需要处理和发送Cookies信息。本文将介绍如何在WebRequest中处理Cookies。

步骤
  1. 首先,我们需要在Web请求中开启Cookie容器。这可以通过在HttpWebRequest中设置CookieContainer属性来实现。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.CookieContainer = new CookieContainer();
  1. 然后,当我们需要从服务器获取Cookies时,Cookies会自动保存到我们刚才创建的Cookie容器中。我们可以通过request.CookieContainer.GetCookies(uri)方法获取到与提供的URI相关的所有Cookies。
string url = "http://www.example.com/";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.CookieContainer = new CookieContainer();

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
CookieCollection cookies = request.CookieContainer.GetCookies(new Uri(url));

foreach (Cookie cookie in cookies)
{
    Console.WriteLine(cookie.Name + ": " + cookie.Value);
}
  1. 最后,我们也可以手动添加Cookies到Cookie容器中,以便在Web请求中发送它们。
string url = "http://www.example.com/";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.CookieContainer = new CookieContainer();

Cookie cookie = new Cookie("name", "value");
cookie.Domain = ".example.com";
cookie.Path = "/";

request.CookieContainer.Add(cookie);

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
总结

以上是C#中使用WebRequest处理Cookies的方法。请注意,这只是使用WebRequest处理Cookies的一种方法。按需求来选择最适合你的方法。