百度空间 | 百度首页 
               
 
查看文章
 
[转]使用WebClient的时候如何处理Cookie
2008-09-21 18:53

WebClient: Handling Cookies

WebClient class is very useful when you need to download or upload date from or to the Web. However, when you need to make a sequence of calls you find that WebClient does not preserve cookies set by the server between requests. Fortunately, WebClient gives you an opportunity to handle cookies by yourself.

在从Web服务器上下载文件或者往上传数据的时候,WebClient类是非常有用的。不过当你需要跟服务器做一系列的交互时会发现WebClient类根本不处理Cookie。 幸好,WebClient类提供了一个让你自己处理Cookie的机会。

The very simple solution is to override GetWebRequest method of the WebClient class and set CookieContainer property.
最简单的解决方法就是重载WebClient的GetWebRequest方法来手动设置CookieContainer属性:

Here is my implementation:
解决方法如下:

    public class CookieAwareWebClient : WebClient
{

private CookieContainer m_container = new CookieContainer();

protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = m_container;
}
return request;
}
}

转载自: It Could Be Done!

类别:.net dev tips | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu