Pour accéder à Internet, je suis derrière un proxy nécessitant une authentification. Je sais que c'est assez simple de transmettre les informations d'identification du réseau à la proxy comme ceci: cela fonctionne! Em> p> J'ai également essayé d'utiliser < Code> CredentialCache.DefaultNetworkCredentials code> Mais cela ne fonctionne pas. Je veux éviter de stocker le nom d'utilisateur et le mot de passe n'importe où (code, base de données, fichier de configuration). P> Je pensais que le moyen le plus simple serait d'utiliser la même boîte de dialogue affichée lorsque j'accomplirais Internet avec Internet Explorer. Quelqu'un sait-il comment élever cette boîte de dialogue? P> http://services.arcgisonline.com/arcgisexplorer500/help /proxy_connect_to_on_browser_request.png p> Modifier strud> p> L'objectif de cette tâche était de télécharger un fichier via FTP. Enfin, j'ai découvert qu'il n'était pas nécessaire de définir une proxy pour les demandes FTP car .NET Framework n'autorise pas l'opération FTP via des proxies HTTP. Mais vous devez définir la propriété proxy explicitement à NULLL. P> c'est ça! EM> p> p> P>
3 Réponses :
Peut-être que cela pourrait vous aider. Pas sûr que ce soit exactement ce que vous recherchez. P>
http: //sturla.simnet. est / POST / 2008/09/22 / Activer-proxy-in-IE.aspx P>
Merci, mais ce n'est pas la chose que je cherche. Enfin j'ai trouvé quelque part ailleurs la boîte de dialogue que je souhaite afficher.
Tout d'abord, id indiquez que ce n'est pas une boîte de dialogue IE. Il devrait s'agir d'une boîte de dialogue système de construction.
En outre, si vous l'invoquez, vous aurez toujours besoin d'accéder aux valeurs entrées et d'utiliser celles de votre code. Cette boîte de dialogue est juste une fenêtre d'entrée, elle ne donnera pas accès à votre application au proxy / Internet! Aussi toutes les manipulations d'erreur (mauvaises, informations d'identification, etc.) doivent être faites par vous-même.
Je pense que cela pourrait être plus facile, de vérifier si un proxy est requis (à l'aide du registre Windows, du WMI, etc.) et d'afficher un formulaire personnalisé où vous pouvez accéder facilement et réutiliser les valeurs. P>
Je pensais qu'il serait plus facile de faire, comme appeler une méthode-cadre qui vérifie la connexion réseau elle-même et apparaît la boîte de dialogue elle-même. Après tout, vous avez totalement raison! Je l'ai fait moi-même et aussi loin que je peux voir chaque programme est livré avec sa propre boîte de dialogue d'authentification proxy (Firefox, Kaspersky, etc.)
Dans l'article MSDN " authentification Manipulation", l'auteur écrit:
proxy d'authentification strong> p>
Lorsqu'un client tente d'utiliser un proxy requiert une authentification, le proxy renvoie un message de code 407 d'état au client. Dans ce message, le proxy doit inclure un ou plusieurs têtes de réponse Proxy-Authenticate. Ces en-têtes sont les méthodes d'authentification disponibles auprès du proxy. WinINet choisit la première méthode qu'il reconnaît. P>
InternetErrorDlg code>
peut être utilisé pour obtenir le nom d'utilisateur et des données de mot de passe de l'utilisateur em>, ou interface utilisateur personnalisée peut être conçu. p> Blockquote>Après avoir cherché un peu plus longtemps, je trouve l'article Base de connaissances Microsoft " ce billet de blog MSDN pour un P / Invoke exemple du
InternetErrorDlg code> une fonction). P>
"Manipulation d'authentification" article indique en outre: p>
Une interface personnalisée peut utiliser le
InternetSetOption code>
pour régler leINTERNET_OPTION_PROXY_PASSWORD code>
etINTERNET_OPTION_PROXY_USERNAME code> valeurs
et la demande de renvoyer le proxy. p> Blockquote>Je suppose que les éléments suivants "workflow" pourrait réussir: p>
- Définissez le proxy à utiliser le proxy par défaut avec quelque chose comme cette réponse aux états de ce qu'il a utilisé avec succès < code> WebRequest code> quand il vient d'ouvrir Internet Explorer et est entré dans ses lettres de créance proxy il. p>
donc, mon hypothèse est que les informations de proxy sont stockées quelque part dans la « session utilisateur » Windows tant que le l'utilisateur est connecté et est disponible pour toutes les applications après l'authentification. p>
Depuis que je suis confronté à la même question que l'affiche originale, je vais essayer maintenant de voir comment mes suggestions fonctionnent réellement. p > p>
Je n'ai pas assez de connaissances sur le sujet pour répondre à votre question, créerait simplement un formulaire de connexion dans lequel vous devez entrer votre nom d'utilisateur et votre mot de passe avant de vous connecter.
Bonjour Nick, bien sûr, ce serait facile à faire, mais pour moi, il semble que cela semble réinventer la roue. Même dans le MSDN Cette boîte de dialogue est mentionnée.