2

经过一整天的搜索和尝试,我找不到解决问题的方法 - 获取多个“Set-Cookie”标头。我试图通过 Headers["Set-Cookie"] 获取它们,但它包含唯一的第一个 cookie。然后我的下一个尝试是通过 Cookies 获取它们(它总是使用 Count 0 和目的,因为我认为它们格式不正确)。这是最后一个示例的代码:

var request = WebRequest.Create(resourceUrl) as HttpWebRequest;
request.Method = "GET";

var response = request.GetResponse() as HttpWebResponse;
var cookiesCount = response.Cookies.Count;

这些是饼干:

Set-Cookie:vjfmrii=67ea0de93a423ab17d168ee8327617b0
Set-Cookie:alpocjengi=dcf10w329x5d7e503ffb9f28123c7492f1c2deb4
Set-Cookie:vjfmrii=4abf7b9e97fff1a61fbcf5e11899ce71

在开始之前,我认为这将是最简单的部分之一,但不幸的是我错了。这些具有相同名称并且有几个...的cookie让我感到震惊。我很感激任何帮助。提前致谢。

4

1 回答 1

2

您需要在发出请求时将CookieContainer添加到您的请求中,否则 cookie 将不会添加到响应中。请参阅http://msdn.microsoft.com/en-us/library/dd920298(v=vs.95).aspx

var request = WebRequest.Create(resourceUrl) as HttpWebRequest;
request.Method = "GET";
request.CookieContainer = new CookieContainer(); // <-- Add this

var response = request.GetResponse() as HttpWebResponse;
var cookiesCount = response.Cookies.Count;
于 2013-09-21T23:17:05.270 回答