如何自动Cookie处理C#/.NET HttpWebRequest + HttpWebResponse?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (9)

有没有什么办法可以通过HttpWebRequest / HttpWebResponse对象在.NET中自动处理cookie?我最好只在.NET环境中寻找与LWP :: UserAgent及其行为(perl)等效的内容。

任何建议或建议?

提问于
用户回答回答于

我认为你要找的是CookieContainer类。如果我明白自己想要正确执行的操作,则可以为请求和响应分别创建对象,并且希望自动将响应 Cookie集合传输到下一个请求 Cookie集合中。尝试使用此代码:

CookieContainer cookieJar = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.google.com");
request.CookieContainer = cookieJar;

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
int cookieCount = cookieJar.Count;

一旦创建cookieJar并将其设置为请求的CookieContainer,它将存储来自响应的所有Cookie,因此在上面的示例中,Cookie jar的计数将在1访问Google.com后计数。上述请求和响应的cookie容器属性将存储一个指向cookieJar的指针,这样Cookie就自动处理并在对象之间共享。

扫码关注云+社区