如何更改HttpWebRequest cookie?

时间:2011-01-25 06:15:31

标签: c# cookies httpwebresponse

Cookies中的{p> HttpWebRequest是只读的,但我需要更改一些Cookie。

我可以使用Set-Cookie标头,但它容易出错。无论如何以HttpWebRequest方式更改OO Cookie?

如果不是,我如何获得System.Net.Cookie的标题文字? (我会在Set-Cookie标题中使用它)

2 个答案:

答案 0 :(得分:2)

HttpWebRequest targetrequest = (HttpWebRequest)WebRequest.Create(targeturl);
targetrequest.CookieContainer = new CookieContainer();
foreach (string clientcookie in Request.Cookies) {
    Cookie targetcookie = new Cookie(clientcookie, Request.Cookies[clientcookie].Value, "/", targetrequest.RequestUri.Host);
    targetrequest.CookieContainer.Add(targetcookie);
}

答案 1 :(得分:0)

看一看 http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.cookiecontainer(v=VS.90).aspx

您需要初始化CookieContainer对象并将Cookie添加到其中。

如果您从HttpWebResponse获取cookie,只需将该集合添加到CookieContainer(请参阅:http://msdn.microsoft.com/en-us/library/system.net.cookiecontainer.add(v=VS.90).aspx)。

要更改一个特定的Cookie,您应该访问它并更改其值:

cookies["cookie_name"].Expiration = ...