S'il vous plaît excusez-moi si je regarde comme si je fais quelque chose de stupide ici. J'ai essayé de parcourir d'autres questions de débordement de pile pour la réponse à mon problème, mais ne semble pas aller nulle part.C# HttpWebRequest erreur de réponse (401)
Je travaille sur une application MVC de base dotnet et je souhaite renvoyer certaines données d'un serveur distant. J'utilise la classe HttpWebRequest.
Dans Fiddler j'ai exécuté ce qui suit en utilisant le compositeur.
Comme vous pouvez le voir sa simple demande GET avec deux biscuits passés dans l'en-tête.
Cela fonctionne très bien et me renvoie exactement ce dont j'ai besoin.
Je puis rédigez ma demande dans le monde dotnet comme suit:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(new Cookie("name", "value", "/", "localhost"));
(ne comprenait pas autre biscuit pour but de la question)
J'appelle alors:
var httpResponse = (HttpWebResponse)request.GetResponse();
Pourtant, recevez 'Le serveur distant a renvoyé une erreur: (401) non autorisé'
des idées que je fais mal ici? J'ai essayé d'ajouter la ligne de code suivante à des fins de test, mais toujours pas de chance.
request.ServerCertificateValidationCallback = delegate { return true; };
Toutes les réponses ont été appréciées. De plus, comme je l'ai mentionné, je ne suis pas un expert alors je pourrais juste faire quelque chose de stupide!
James
Pouvez-vous utiliser fiddler pour regarder la requête qui est produite à partir du code C#? En quoi est-ce différent de la requête de travail que vous avez produite dans fiddler? – Alfredo
Est-ce que votre requête va à localhost? Vous avez défini le cookie uniquement sur le domaine localhost. –
Salut @Ed T merci pour votre commentaire. J'ai fait ce que vous avez dit et changé cela au bon domaine et ... bingo! ça a marché. J'aurais dû repérer celui-là! Transformez cela en une réponse et je vais voter et marquer cela comme la réponse. James –