Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Tuesday, August 3, 2010 10:39 PM
Does webclient keep a internal cookie container and save/post cookies so the users don't need to handle cookie?
All replies (2)
Tuesday, August 3, 2010 11:03 PM ✅Answered
WebClient does not have built-in support for cookies.
The purpose of WebClient is to provide an easy-to-use wrapper for HttpWebRequest. You can use HttpWebRequest instead if you need more functionality. It is not all that much harder to use. HttpWebRequest has support for cookies.
http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.cookiecontainer.aspx
http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.cookies.aspx
Tuesday, August 3, 2010 11:40 PM ✅Answered | 2 votes
You can modify the WebClient to support cookies:
public class CookedWebClient : WebClient
{
CookieContainer cookies = new CookieContainer();
public CookieContainer Cookies{ get{ return cookies; } }
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if(request.GetType() == typeof(HttpWebRequest))
((HttpWebRequest)request).CookieContainer = cookies;
return request;
}
}