HttpWebResponse不返回所有的cookie

本文关键字:cookie 返回 HttpWebResponse | 更新日期: 2023-09-27 18:17:35

我使用HttpWebRequest和HttpWebResponse,后者在我的代码中命名为response22,所以这里是我的代码片段:

HttpWebResponse response22 = request22.GetResponse() as HttpWebResponse;
CookieCollection cookiezzz = new CookieCollection();
cookiezzz.Add(response22.Cookies);
foreach (System.Net.Cookie cookie in cookiezzz)
{
    MessageBox.Show(cookie.Name);
}

奇怪的是,Fiddler在响应中显示了5个cookie,但是当我遍历这些cookie时,我只得到4个。

同样,我的请求被设置为:equest22。

目标框架是。net 4.5,使用WinForms

使用CookieContaner一点帮助都没有,因为它只"挑选"其中的2个cookie,但我现在不想担心这个问题,只想弄清楚如何获得这5个cookie

HttpWebResponse不返回所有的cookie

您必须向请求提供cookie容器,而不是尝试从响应中检索它们。这将强制填充容器和响应cookie:

var cookiezzz = new CookieContainer();
request22.CookieContainer = cookiezzz;
HttpWebResponse response22 = request22.GetResponse() as HttpWebResponse;
foreach (System.Net.Cookie cookie in cookiezzz)
{
    MessageBox.Show(cookie.Name);
}