Le serveur distant a retourné une erreur: (407 Proxy Authentication required
J'ai évoqué plusieurs sites internet, qui avait de réponse à cette question
"Le serveur distant a retourné une erreur: (407 Proxy Authentication required." mais aucun n'a été utile.
J'ai écrit un exemple de code pour vérifier l'authentification du proxy dans le bureau. Le code génère une exception.
Mon exigence:- Vérifier que le site renvoie. À l'extérieur du bureau, le code fonctionne bien, mais en bureau il déclenche une exception en raison de proxy.
Quand j'ai coder en dur les informations d'identification à l'aide de nouvelles NetworkCredential, il fonctionne très bien.
int ResponseCode;
string url = "http://www.msftncsi.com/ncsi.txt";
WebRequest request = WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultCredentials;
using (WebResponse response = request.GetResponse())
{
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
responseFromServer = reader.ReadToEnd();
ResponseCode = (int)((HttpWebResponse)response).StatusCode;
reader.Close();
}
Je ne veux pas coder en dur. J'ai évoqué la solution dans http://social.msdn.microsoft.com/Forums/is/csharpgeneral/thread/c06d3032-dceb-4a1a-bb6a-778fd13a938a, mais même cela n'a pas aide.
Ce qui me manque?
OriginalL'auteur user1473039 | 2012-06-21
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème, cela a fait l'affaire pour moi
demande.Proxy.Les Informations D'Identification = CredentialCache.DefaultCredentials;
OriginalL'auteur Javi
Il y a beaucoup de choses ici. Vous pouvez essayer de définir les informations d'Identification explicitement
Vous pourriez avoir besoin de spécifier proxy. Par défaut, il utilise IE proxy. Vous ne voudriez pas que
J'ai besoin de solution commune. 2) Combien utile, il sera pour spécifier un proxy? Il sera acceptée dans le monde entier (sens - vais-je être en mesure d'utiliser cette application dans tout réseau d'entreprise)? Si oui, alors je suis heureux de l'utiliser 3) Notre programme a plusieurs contrôles pour vérifier une connexion réseau. Ce code est l'un des vérifications et à défaut dans office. Nous avons besoin de le faire fonctionner sans spécifier les informations d'identification de manière explicite. @fenix2222 - je vous remercie de votre réponse. Je vous remercie.
Cela signifie que vous avez besoin pour obtenir de l'infrastructure gars pour permettre l'accès à un site externe "msftncsi.com/ncsi.txt" ou de faire créer un compte de service que vous pouvez utiliser, plutôt que d'utiliser vos informations d'identification. À la fin de la journée, ce est la façon dont il fonctionne. Sinon, vous pouvez essayer d'usurper l'identité d'application, de sorte que lorsqu'il s'exécute CredentialCache.DefaultCredentials va utiliser les informations d'identification windows de la personne qui exécute l'application
Les sons étranges que l'utilisation d'un programme, que je ne peut pas obtenir une réponse à partir d'un site web, même si internet est accessible. À L'Aide De CredentialCache.DefaultCredentials n'a pas d'aide. Il devrait y avoir un moyen d'obtenir les informations d'identification réseau et de le passer à la procuration.
Comme je l'ai dit, vous pourriez avoir besoin pour impoersonate demande que le contexte dans lequel l'application est en cours d'exécution peut-être pas votre compte d'utilisateur, d'où CredentialCache.DefaultCredentials retourne les informations d'identification d'un autre compte
OriginalL'auteur fenix2222