C#从数据POST提供的服务器响应中获取Cookie

Coo*_*tar 6 c# cookies post

我无法理解这个(登录)问题:1)我发布了一些数据2)服务器做出反应并在标题中生成一些cookie的响应(Set-Cookie)3)我想存储那些cookie以便以后使用他们生成更多的请求

我的C#代码如下所示:

byte[] buffer = Encoding.ASCII.GetBytes(data_to_post);

HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(url);
WebReq.Method = "POST";
WebReq.ContentType = "application/x-www-form-urlencoded";
WebReq.ContentLength = buffer.Length;

Stream PostData = WebReq.GetRequestStream();
PostData.Write(buffer, 0, buffer.Length);
PostData.Close();

HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
Stream Answer = WebResp.GetResponseStream();
StreamReader _Answer = new StreamReader(Answer);
WebResp.Close(); // I want cookies here! But there is no cookies :(
Run Code Online (Sandbox Code Playgroud)

事情是,WebResp确实具有带有值的"Set-Cookie"标头.在我运行和解析头文件之前,我想知道为什么Cookies对象不会传播(0个cookie)并填充头部的值.

有人有想法吗?

Dar*_*rov 8

因为您需要使用cookie容器.

var cookieContainer = new CookieContainer();
WebReq.CookieContainer = cookieContainer;
Run Code Online (Sandbox Code Playgroud)