以下代码:
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秒内显示其他内容。
它应该以{{1}}
回复正如您所看到的,即使在Fiddler回复中,您也可以看到Cookie。
答案 0 :(得分:0)
我不确定为什么resp.Cookies
没有任何饼干。但是,如果您发现resp.Headers
有一个值Set-Cookie
。您可以使用它来检索响应中的cookie。
使用以下代码行来获取Cookie标头。
var cookieHeader = resp.Headers["Set-Cookie"];
这将为您提供类似
的价值csrf_token={sometokenvalue};Version=1;Domain=accounts.spotify.com;Path=/;Secure