Le serveur distant a renvoyé une erreur: (401) non autorisé

J’essaie d’obtenir le code html de certaines pages Web. J’ai un nom d’utilisateur et un mot de passe corrects, mais je ne parviens toujours pas à le faire fonctionner. Voici mon code:

private void buttondownloadfile_Click(object sender, EventArgs e) { NetworkCredentials nc = new NetworkCredentials("?", "?", "http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR"); WebClient client = new WebClient(); client.Credentials = nc; Ssortingng htmlCode = client.DownloadSsortingng("http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR"); MessageBox.Show(htmlCode); } 

Le MessageBox est juste pour le tester, le problème est que chaque fois que j’arrive à cette ligne:

 Ssortingng htmlCode = client.DownloadSsortingng("http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR"); 

Je reçois une exception:

Le serveur distant a renvoyé une erreur: (401) non autorisé.

Comment puis-je réparer ça?

Dans mon cas, client.UseDefaultCredentials = true; a fait le tour.

J’ai essayé le code suivant et cela fonctionne.

  private void Form1_Load(object sender, EventArgs e) { try { // Create Request HttpWebRequest req = (HttpWebRequest)WebRequest.Create(@"http://192.168.0.181/axis-cgi/com/ptz.cgi?move=up"); // Create Client WebClient client = new WebClient(); // Assign Credentials client.Credentials = new NetworkCredential("root", "a"); // Grab Data ssortingng htmlCode = client.DownloadSsortingng(@"http://192.160.0.1/axis-cgi/com/ptz.cgi?move=up"); // Display Data MessageBox.Show(htmlCode); } catch (WebException ex) { MessageBox.Show(ex.ToSsortingng()); } } 

Essayez de créer un NetworkCredential sans cette partie de domaine:

 NetworkCredential nc = new NetworkCredential("?", "?");