web-dev-qa-db-fra.com

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

Je veux obtenir une image d'Internet et l'insérer dans Word.

J'utilise ce code.

MainDocumentPart mainPart = wordprocessingDocument.MainDocumentPart;
System.Net.WebRequest request = 
    System.Net.HttpWebRequest.Create("http://spsdev2:1009");

System.Net.WebResponse response = request.GetResponse();
ImagePart imagePart = mainPart.AddImagePart(ImagePartType.Jpeg);
//Send an HTTP request and get the image at the URL as an HTTP response
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(fileName);
WebResponse myResp = myReq.GetResponse();

//Get a stream from the webresponse
Stream stream = myResp.GetResponseStream();

J'obtiens une erreur dans myReq.GetResponse ();

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

Modifier

Ce code fonctionne pour moi :)

myReq.UseDefaultCredentials = true;

myReq.PreAuthenticate = true;

myReq.Credentials = CredentialCache.DefaultCredentials;
21
ar.gorgin

J'ajoute des informations d'identification pour HttpWebRequest.

myReq.UseDefaultCredentials = true;
myReq.PreAuthenticate = true;
myReq.Credentials = CredentialCache.DefaultCredentials;
36
ar.gorgin

Ne devriez-vous pas fournir les informations d'identification pour votre site, au lieu de transmettre les informations d'identification par défaut?

Quelque chose comme request.Credentials = new NetworkCredential("UserName", "PassWord");

Supprimez également request.UseDefaultCredentials = true; request.PreAuthenticate = true;

9
Dante