【发布时间】:2017-03-29 21:52:01
【问题描述】:
以下代码:
string url = "https://accounts.spotify.com/en/login";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.CookieContainer = new CookieContainer();
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
string source = sr.ReadToEnd();
MessageBox.Show(source);
MessageBox.Show(resp.Cookies.Count.ToString());
foreach (Cookie cookie in resp.Cookies)
{
MessageBox.Show(cookie.Name, cookie.Value);
}
}
旨在为每个带有名称和值的cookie创建一个消息框。
但事实并非如此!没有返回一个值。
相反,它执行以下操作:
显示来源、Cookie 的数量(显示 0),然后在表单加载前的 1-2 秒内显示。
它应该回复csrf_token=<...>
如您所见,即使在 Fiddler 响应中,您也可以看到 cookie。
【问题讨论】:
-
如果
Cookies.Count == 0那么你为什么期望foreach显示任何东西? -
@DavidTansey 不应该是0,应该是1,就是csrf_token
标签: c# cookies httpwebrequest httpwebresponse