我无法解决这个(登录)问题: 1)我发布一些数据 2)服务器使用react并在 header 中使用一些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 :(
问题是 WebResp 确实有带值的“Set-Cookie” header 。在我运行和解析 header 之前,我想知道为什么 Cookies 对象没有传播(0 个 cookie)并填充了来自 header 的值。
有人知道吗?
最佳答案
因为你需要使用一个cookie container .
var cookieContainer = new CookieContainer();
WebReq.CookieContainer = cookieContainer;
关于C# 从数据 POST 上提供的服务器响应中获取 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3079567/