经过一整天的搜索和尝试,我找不到解决问题的方法 - 获取多个“Set-Cookie” header 。 我试图通过 Headers["Set-Cookie"] 获取它们,但它只包含第一个 cookie。 然后我的下一次尝试是通过 Cookie 获取它们(它总是带有计数 0 和目的,因为我认为它们格式错误)。 这是最后一个示例的代码:
var request = WebRequest.Create(resourceUrl) as HttpWebRequest;
request.Method = "GET";
var response = request.GetResponse() as HttpWebResponse;
var cookiesCount = response.Cookies.Count;
这些是 cookie:
Set-Cookie:vjfmrii=67ea0de93a423ab17d168ee8327617b0
Set-Cookie:alpocjengi=dcf10w329x5d7e503ffb9f28123c7492f1c2deb4
Set-Cookie:vjfmrii=4abf7b9e97fff1a61fbcf5e11899ce71
在开始之前,我认为这将是最简单的部分之一,但不幸的是我错了。这些具有相同名称且有多个的 cookies 让我感到震惊。 我很感激任何帮助。提前致谢。
最佳答案
您需要添加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;
关于c# - 通过c#获取多个格式错误的cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18938646/