cómo usar cookies con HttpWebRequest

Estoy creando una aplicación para la recuperación de datos desde la página web. La página está protegida con contraseña y cuando el usuario inicia sesión, se crea la cookie.

Para recuperar los datos, la aplicación primero debe iniciar sesión: realizar una solicitud web con nombre de usuario y contraseña, y almacenar la cookie. Luego, cuando se almacena la cookie, debe agregarse a los encabezados de todas las solicitudes.

Este es el método que realiza las solicitudes y recupera el contenido:

public void getAsyncDailyPDPContextActivationDeactivation() { HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(dailyPDPContextActivationDeactivation); IAsyncResult asyncResult = httpWebRequest.BeginGetResponse(null, null); asyncResult.AsyncWaitHandle.WaitOne(); using (HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.EndGetResponse(asyncResult)) using (StreamReader responseStreamReader = new StreamReader(httpWebResponse.GetResponseStream())) { string responseText = responseStreamReader.ReadToEnd(); } } 

¿Alguien sabe cómo modificar este método para agregar una cookie al encabezado?

También estaría agradecido si alguien sugiriera una forma de almacenar cookies de la respuesta (cuando la aplicación realiza una solicitud http: xxx.xxx.xxx/login? Username = xxx & password = xxx la cookie se crea y debe almacenarse para futuras solicitudes) )

 CookieContainer cookieContainer = new CookieContainer(); HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(...); httpWebRequest.CookieContainer = cookieContainer; 

Luego reutilizas este CookieContainer en solicitudes posteriores:

 HttpWebRequest httpWebRequest2 = (HttpWebRequest)WebRequest.Create(...); httpWebRequest2.CookieContainer = cookieContainer; 

Usa el CookieContainer o podrías usar un CookieAwareWebClient