Réglage de l'en-tête d'authentification pour le contrôle WebBrowser - ASP.NET
Je suis en utilisant le contrôle WebBrowser dans mon asp.net application pour générer des captures d'écran de pages web. J'ai été en mesure de générer des images jusqu'j'ai changé le compte du pool d'applications. J'ai donné le nouveau pool d'applications de tous les droits nécessaires et je suis capable de parcourir mes pages de IE. Mais quand je navigue à travers le contrôle de navigateur web par programmation, je suis 401.2. J'ai setup "suivi des demandes ayant Échoué règles" dans mon IIS 7.0 et ont utilisé un violon pour renifler les demandes et j'ai trouvé que l'en-tête d'authentification n'est pas droit.
Mais le webbrowser.accédez a une méthode surchargée où l'on peut passer en-têtes http personnalisés. Comment puis-je le mettre? Je veux juste utiliser l'authentification intégrée et ne veux pas donner le nom d'utilisateur/mot de passe dans le code parce que je peut pas le savoir. Mais encore, j'ai essayé le code suivant à pas de chance.
System.Uri uri = new Uri(myUrl);
byte[] authData = System.Text.UnicodeEncoding.UTF8.GetBytes("user: passwd");
string authHeader = "Authorization: Basic " + Convert.ToBase64String(authData) + "\r\n";
myBrowser.Navigate(uri, "", null, authHeader);
Toutes les idées comment définir l'en-tête avec d'autres détails tels que le useragent trop?
OriginalL'auteur NLV | 2011-06-09
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez inclure l'agent de l'utilisateur dans l'en-tête, vous devriez probablement faire quelque chose comme ceci:
Juste rappelez-vous que chaque en-tête doit être terminée par un retour chariot saut de ligne paire.
Je ne suis pas sûr de ce qui est nécessaire dans votre cas. Vous dites que la navigation à partir de IE fonctionne? Vérifier les en-têtes dans la demande faite à partir d'IE.
J'ai essayé le même code dans une application windows forms. Même si j'ai choisi de définir l'en-tête d'authentification à vide et de la demande de la page, je suis capable de charger la page dans le contrôle. Et l'application web n'est pas configuré pour l'accès anonyme. Pouvez-vous expliquer cela? Je commence à penser que quelle que soit valide auth-têtes je suis réglage de la demande il n'est pas de répondre.
OriginalL'auteur Edwin de Koning