como usar cookies com HttpWebRequest

Estou criando um aplicativo para recuperação de dados da página da web. A página é protegida por senha e quando o usuário faz o login, o cookie é criado.

Para recuperar os dados que o aplicativo precisa primeiro efetuar login: faça uma solicitação da web com nome de usuário e senha e armazene o cookie. Então, quando o cookie é armazenado, ele deve ser adicionado aos headers de todas as solicitações.

Aqui está o método que faz solicitações e recupera o conteúdo:

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(); } } 

Alguém sabe como modificar este método para adicionar um cookie no header?

Eu também ficaria agradecido se alguém sugerisse uma maneira de armazenar cookies a partir da resposta (quando o aplicativo faz uma solicitação http: xxx.xxx.xxx/login? Username = xxx & password = xxx, o cookie é criado e deve ser armazenado para solicitações futuras ).

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

Então você reutiliza este CookieContainer em solicitações subseqüentes:

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

Use o CookieContainer ou você pode usar um CookieAwareWebClient