HttpClient et l'utilisation d'un proxy - cesse de recevoir de la 407
Voici le code:
HttpClient client = null;
HttpClientHandler httpClientHandler = new HttpClientHandler()
{
Proxy = new WebProxy(string.Format("{0}:{1}", proxyServerSettings.Address,
proxyServerSettings.Port),false),
PreAuthenticate = true,
UseDefaultCredentials = false,
};
this.httpClientHandler.Credentials = new NetworkCredential(proxyServerSettings.UserName,
proxyServerSettings.Password);
this.client = new HttpClient(this.httpClientHandler);
Et quand j'ai enfin faire ceci:
HttpResponseMessage httpResponseMessage = this.client.PostAsync(urlToPost, new StringContent(data, Encoding.UTF8, this.mediaType)).Result;
Il jette toujours la
Le serveur distant a retourné une erreur: (407) l'Authentification du Proxy
Nécessaire.
Que je ne comprends pas pour le monde de moi.
Le même proxy mis en place fonctionne bien quand est configuré dans IE10 ou si j'utilise le HttpWebRequest
classe au lieu
Vous devez vous connecter pour publier un commentaire.
De la configuration du proxy informations d'identification dans le mauvais endroit.
httpClientHandler.Des informations d'identification que vous donnez à la serveur après le proxy a déjà établi une connexion. Si vous obtenez ces mauvais, vous aurez probablement un 401 ou 403 réponse.
Vous devez définir les informations d'identification donné à la proxy, ou il refusera de vous connecter sur le serveur en premier lieu. Les informations d'identification que vous fournissez à la procuration peut être différente de celles que vous fournissez sur le serveur. Si vous obtenez ces mal, vous aurez une 407 réponse. Vous obtenez une 407 parce que vous n'avez jamais mis ces tout.
Address = new Uri($"http://{proxyHost}:{proxyPort}"),
. Si vous obtenez URI erreur.Vous avez besoin pour passer un proxy Handler. essayez cela, il a travaillé pour moi
J'ai trouvé quelques informations utiles sur cette ici, à partir de social.msdn.microsoft.com. A partir de ces réponses, les tests que j'ai faites et de la recherche dans le Système.Net.Classe WebProxy vous avez besoin pour passer le proxy informations d'identification dans le proxy de l'objet, pas le HttpClientHandler.
Ce fait est destinée à authentifier la connexion au proxy, pas la HttpClientHandler.