我无法理解这个(登录)问题: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)并填充头部的值.
有人有想法吗?
因为您需要使用cookie容器.
var cookieContainer = new CookieContainer();
WebReq.CookieContainer = cookieContainer;
Run Code Online (Sandbox Code Playgroud)