Anteriormente he usado un CookieContainer con las sesiones HttpWebRequest y HttpWebResponse, pero ahora quiero usarlo con un WebClient. Por lo que yo entiendo, no hay un método incorporado como el que hay para HttpWebRequests ( request.CookieContainer
). ¿Cómo puedo recolectar cookies de un WebClient en un CookieContainer?
Yo en Google para esto y encontré el siguiente ejemplo :
public class CookieAwareWebClient : WebClient
{
private readonly CookieContainer m_container = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
HttpWebRequest webRequest = request as HttpWebRequest;
if (webRequest != null)
{
webRequest.CookieContainer = m_container;
}
return request;
}
}
¿Es esta la mejor manera de hacerlo?
m_container
nunca se establece? ¿No está siempre vacío?