首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CookieContainer混淆

CookieContainer混淆
EN

Stack Overflow用户
提问于 2012-08-19 14:21:52
回答 1查看 16.8K关注 0票数 5

据我所知,通过HttpWebRequests持久化cookies的CookieContainer的基本用法如下:

代码语言:javascript
复制
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
CookieContainer cookies = new CookieContainer();
request.CookieContainer = cookies;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
  // Do stuff with response
}

然后:

代码语言:javascript
复制
request = (HttpWebRequest)WebRequest.Create(new url);
request.CookieContainer = cookies;
etc...

但是我很难理解这个过程背后的逻辑。变量cookie在初始化后似乎没有被重新赋值。第一个WebResponse中的WebRequest到底是如何传入第二个cookie的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-19 14:39:50

这是因为当您从网站检索响应时,它会自动填充您用于请求的cookie容器。您可以通过查看响应之前和之后的cookie来测试这一点:

代码语言:javascript
复制
//Build the request
Uri site = new Uri("http://www.google.com");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(site);
CookieContainer cookies = new CookieContainer();
request.CookieContainer = cookies;

//Print out the number of cookies before the response (of course it will be blank)
Console.WriteLine(cookies.GetCookieHeader(site));

//Get the response and print out the cookies again
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
    Console.WriteLine(cookies.GetCookieHeader(site));
}

Console.ReadKey();
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12024657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档