12
votes

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

J'essaie d'obtenir le code HTML de certaines pages Web, J'ai un nom d'utilisateur et un mot de passe qui sont corrects mais je ne peux toujours pas le faire fonctionner, Ceci est mon code: xxx

La messagerie est juste pour le tester, Le problème est que chaque fois que j'arrive à cette ligne: xxx

I Obtenez une exception:

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

Comment puis-je résoudre ce problème?


0 commentaires

3 Réponses :


3
votes

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

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


0 commentaires

7
votes

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
            string htmlCode = client.DownloadString(@"http://192.160.0.1/axis-cgi/com/ptz.cgi?move=up");

            // Display Data
            MessageBox.Show(htmlCode);
        }
        catch (WebException ex) 
        {
            MessageBox.Show(ex.ToString());
        }
    }


0 commentaires

17
votes

dans mon cas client.usefAltCredentials = true; l'astuce.


0 commentaires