WebClient不能保持Session和Cookie,但很多情况下需要保持Session和Cookie,经过查看发现只要稍微修改一下就可以达到上述效果。
namespace System.Net
{
public class HttpWebClient : WebClient
{
private CookieContainer cookies;
public HttpWebClient()
{
this .cookies = new CookieContainer();
}
public HttpWebClient(CookieContainer cookies)
{
this .cookies = cookies;
}
public CookieContainer Cookies
{
get
{
return this .cookies;
}
set
{
this .cookies = value;
}
}
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base .GetWebRequest(address);
if (request is HttpWebRequest)
{
HttpWebRequest httpRequest = request as HttpWebRequest;
httpRequest.CookieContainer = cookies;
}
return request;
}
}
文章引用:http://www.cnblogs.com/youwang/archive/2009/08/14/1545712.html