c# - 通过c#获取多个格式错误的cookie

标签 c# cookies httpwebrequest

经过一整天的搜索和尝试,我找不到解决问题的方法 - 获取多个“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/

相关文章:

javascript - 我可以在Javascript中存储不同域的cookie吗

ruby - 如何仅从 Ruby 中的 HTTP 请求获取响应代码

c# - 线程 ARP ping

c# - 在类中为 Nunit 测试设置私有(private)变量

c# - VS2010 和 WPF 缓慢调试问题

c# - LINQ 比较属性值不相等的两个列表

php - 设置 Cookie 时禁用 WP Super Cache

javascript - 复选框 cookie 并记住显示隐藏区域

google-chrome - 我的网站支付页面显示不安全

events - 处理来自 WinHttpRequest 的事件