(407 Proxy Authentication Required
Je sais que cela a été demandé de nombreuses fois. J'ai lu la plupart des tous les posts ici et sur d'autres sites comme celui-ci.
http://social.msdn.microsoft.com/Forums/en-US/ncl/thread/2931d21c-9ca8-4256-b213-915fad4c941b/
Avec en vain. Voici l'environnement
Windows Server 2008 R2 64 bits
Visual Studio 2008
.Net Framework 3.5
Voici ce que j'ai essayé
J'ai eu le proxy authentifiant à l'aide de code
WebRequest req = WebRequest.Create(requestUri + data);
req.Proxy = new System.Net.WebProxy(<ProxyURL>:<port>",true);
req.Proxy.Credentials = CredentialCache.DefaultCredentials;
WebResponse resp = req.GetResponse();
Cela a fonctionné, mais en voyant qu'il était de ralentir l'application, j'ai appris que je peux modifier la machine.fichier de config que j'ai fait. Il en fait trop!
<system.net>
<defaultProxy
useDefaultCredentials="true">
<proxy
proxyaddress="<proxyURL>:<port>"
bypassonlocal="True"/>
</defaultProxy>
</system.net>
Au moins pour un jour ou 2. Puis il commença à baisser.
J'ai ensuite édité à cette
<system.net>
<defaultProxy
useDefaultCredentials="true">
<proxy usesystemdefault="True"/>
</defaultProxy>
</system.net>
À partir de ma compréhension de cette utilisera les paramètres d'internet explorer pour se connecter au proxy, mais ne fonctionne toujours pas. J'ai aussi essayé tihs code
WebProxy proxy = new WebProxy(<proxy>:<port>);
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri(requestUri + data), "BASIC", new NetworkCredential(<username>,<password>));
proxy.Credentials = myCache;
request.Proxy = proxy;
request.Method = "GET";
Et cela ne fonctionne pas.
Note: je peux copier la machine.fichier de configuration pour mon ordinateur(Win XP) et exécutez le .exe(sans le code proxy) à partir de là et il fonctionne très bien.
Est-il quelque chose de différent, j'ai besoin de le faire avec une version 64 bits de l'OS? Aussi je peux ouvrir IE8 sur le serveur et l'accès à l'URI de l'amende juste. l'objectif est de preauthenticate le proxy sans avoir à fournir un nom d'utilisateur mot de passe dans le code.
OriginalL'auteur jlh3302 | 2013-03-29
Vous devez vous connecter pour publier un commentaire.
HttpWebRequest utilise la valeur par défaut des Paramètres de l'Internet (IE) proxy de toute façon, donc si il fonctionne très bien à partir d'Internet Explorer sur le serveur, il devrait être ok à partir de votre code (à condition qu'elle s'exécute sous le même compte d'utilisateur).
Je voudrais mettre de la machine.config de nouveau comme il était.
Une chose que je voudrais vérifier serait dans IIS, vous pouvez configurer les Fournisseurs pour l'Authentification Windows applet. Cette liste devrait NTLM et Kerberos comme les fournisseurs dans une liste; je voudrais les passer autour et voir si cela fait une différence (par exemple, si l'authentification NTLM est en haut de la liste, déplacez Kerberos vers le haut). Je suis désolé, je ne peux pas vous donner les instructions exactes que je n'ai pas de IIS sur cette machine.
Si vous êtes encore du mal, je vous recommande d'exécuter un violon sur le serveur pour capturer la demande et de la réponse de flux pour plus d'indices.
Aucun Code n'est nécessaire, cela n'utiliser les paramètres d'internet explorer. Le mien n'a pas fonctionné car j'ai essayé d'utiliser le Violoneux, et il a changé l'IE paramètres de proxy. Dans un violon je choisir Règles/Authentifier Automatiquement et mon code fonctionne. Une fois que j'ai fermé le Violoneux, j'ai vérifié l'IE paramètres de proxy pour s'assurer qu'ils chnaged dos. Semble fonctionner.
OriginalL'auteur David Moore
@David Moore est à droite. si IE fonctionne bien lorsque vous naviguez manuellement puis il suffit d'ajouter
req.Proxy.Credentials = CredentialCache.DefaultCredentials;
et il fonctionne parfaitement.Heres un code modifié pris de la MSDN qui est de travailler pour moi.
j'espère que ça aide 😉
J'avais la 407 où je ne devrais vraiment pas l'obtenir (ou alors j'ai pensé), mais ensuite, j'ai ajouté req.Proxy.Les Informations D'Identification = CredentialCache.DefaultCredentials ligne comme vous l'avez suggéré, et Bingo! Qu'il fixe.
OriginalL'auteur anagnam