Las credenciales de dominio para una clase de WebClient no funcionan

Estoy tratando de obtener una fuente html de un sitio web a través del código C #. Cuando accedo al sitio con autenticación de Windows, el siguiente código funciona:

using (WebClient client = new WebClient()) { client.Credentials = CredentialCache.DefaultCredentials; using (Stream stream = client.OpenRead("http://intranet/")) using (StreamReader reader = new StreamReader(stream)) { MessageBox.Show(reader.ReadToEnd()); } } 

cuando ingreso manualmente mis credenciales de dominio obtengo un mensaje “no autenticado”:

 using (WebClient client = new WebClient()) { NetworkCredential credentials = new NetworkCredential("username", "pass", "domain"); client.Credentials = credentials; using (Stream stream = client.OpenRead("http://intranet/")) using (StreamReader reader = new StreamReader(stream)) { MessageBox.Show(reader.ReadToEnd()); } } 

¿Por que es esto entonces?

Prueba esto:

 CredentialCache cc = new CredentialCache(); cc.Add( new Uri("http://intranet/"), "NTLM", new NetworkCredential("username", "pass", "domain")); client.Credentials = cc;