如何在C#中响应后获取请求标头的Cookie

时间:2016-08-14 18:09:11

标签: c# .net window .net-4.5 windows-10-universal

我想获取Cookie“请求标题”而不是“响应标题”链接“https://www.udemy.com/join/login-popup/” 我使用过WebRequest和HttpClient但是当我没有看到Cookie调试时 请帮我用C#写它我试图找到所有可能的方法,但我还没找到。

1 个答案:

答案 0 :(得分:1)

例如,使用 System.Net.Http.HttpClient ,我们可以获得以下Cookie:

var myClientHandler = new HttpClientHandler();
myClientHandler.CookieContainer = new CookieContainer();

var client = new HttpClient(myClientHandler);

var response = await client.GetAsync("https://www.udemy.com/join/login-popup/");

var cookieCollection = myClientHandler.CookieContainer.GetCookies(new Uri("https://www.udemy.com/join/login-popup/"));

foreach (var cookie in cookieCollection.Cast<Cookie>())
{
    Debug.WriteLine(cookie);
}

HttpClient保存服务器发送的Cookie,并自动将其添加到同一应用容器中对该URI的后续请求中。因此,如果我们不手动修改cookie,“请求标题”中的cookie应与之前的响应中的cookie相同。