J'utilise le code suivant pour obtenir xml de charge à partir d'une page Web mais je continue à recevoir l'erreur « Le serveur distant a renvoyé une erreur:. (407) Authentification proxy requise »HttpWebRequest pas l'authentification par rapport au serveur proxy à l'aide kerberos
J'ai regardé un grand nombre de messages à la fois sur stackoverflow et sur d'autres sites et je suis incapable de résoudre le problème. J'ai été informé par notre service de support informatique que c'est probablement dû au fait qu'ils forcent le serveur proxy à utiliser l'authentification kerberos mais comme vous pouvez le voir, j'ai spécifié le kerberos comme type d'authentification.
Voici le code que je suis actuellement en utilisant:
IWebProxy proxy = request.Proxy;
if (proxy != null)
{
string proxyuri = proxy.GetProxy(request.RequestUri).ToString();
var cc = new CredentialCache();
cc.Add(
new Uri(proxyuri),
"Kerberos", //if we don't set it to "Kerberos" we get error 407 with ---> the function requested is not supported.
CredentialCache.DefaultNetworkCredentials);
request.UseDefaultCredentials = true;
request.Proxy = new WebProxy(proxyuri, false);
request.Proxy.Credentials = cc;
}
//set some sort of user-agent string
request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)";
// Create a new XmlDocument
var doc = new XmlDocument();
var stream = request.GetResponse().GetResponseStream();
J'ai utilisé le fiddler pour analyser les en-têtes de demande et il semblerait que l'en-tête d'autorisation de proxy soit manquant ... ... –