Partir de .NET 2.0, vous ne devriez pas avoir à le faire. Si vous ne définissez pas explicitement le Proxy de propriété sur une requête web, il utilise la valeur de la statique WebRequest.DefaultWebProxy. Si vous vouliez changer le proxy utilisé par tous les WebRequests, vous pouvez définir cette statique DefaultWebProxy de la propriété.
Le comportement par défaut de WebRequest.DefaultWebProxy est d'utiliser les mêmes paramètres utilisés par Internet Explorer.
Si vous souhaitez utiliser différents paramètres de proxy à l'utilisateur actuel, puis vous auriez besoin de code
WebRequest webRequest = WebRequest.Create("http://stackoverflow.com/");
webRequest.Proxy = new WebProxy("http://proxyserver:80/",true);
ou
WebRequest.DefaultWebProxy = new WebProxy("http://proxyserver:80/",true);
Vous devez également vous rappeler le modèle d'objet pour les proxys comprend le concept que le proxy peut être différent en fonction de la destination hôte. Cela peut rendre les choses un peu déroutant lorsque le débogage et la vérification de la propriété de webRequest.Proxy. Appel
webRequest.Proxy.GetProxy(new Uri("http://google.com.au"))
de voir les détails du serveur proxy à utiliser.
Il semble y avoir un débat quant à savoir si vous pouvez configurer webRequest.Proxy
ou WebRequest.DefaultWebProxy = null
à empêcher l'utilisation de proxy. Cela semble fonctionner OK pour moi, mais vous pouvez l'installer à l' new DefaultProxy()
sans paramètres pour obtenir le comportement requis. Une autre chose à vérifier est que si un élément proxy existe dans vos applications fichier de configuration, la .NET Framework va PAS utiliser les paramètres de proxy dans Internet Explorer.
L'article de MSDN Magazine de Prendre la Charge des Utilisateurs avec la Configuration Automatique .NET donne plus de détails de ce qui se passe sous le capot.