1
juillet
2008
[C#] Utiliser un proxy avec WebClient
juillet
2008
Un article de nico-pyright(c)
Pas de commentaires
Utiliser la classe WebClient pour faire un téléchargement est relativement aisé.
Avec un code de ce genre :
var webClient = new WebClient();
webClient.DownloadStringCompleted += webClient_DownloadStringCompleted;
webClient.DownloadStringAsync(new Uri("http://blog.developpez.com/nico-pyright"));
void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
// le resultat est dans e.Result
}
else
{
// erreur de téléchargement, l'erreur est dans e.Error
}
}
webClient.DownloadStringCompleted += webClient_DownloadStringCompleted;
webClient.DownloadStringAsync(new Uri("http://blog.developpez.com/nico-pyright"));
void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
// le resultat est dans e.Result
}
else
{
// erreur de téléchargement, l'erreur est dans e.Error
}
}
Mais des fois, on a besoin d’utiliser un proxy.
Comment faire dans ce cas là ?
Si on a une ip, un port, un login et un mot de passe, on peut alors faire ainsi (en imaginant que ces valeurs sont stockées en configuration) :
var webClient = new WebClient();
if (ConfigurationManager.AppSettings["ipproxy"] != null && ConfigurationManager.AppSettings["port"] != null && ConfigurationManager.AppSettings["login"] != null && ConfigurationManager.AppSettings["mdp"] != null)
{
var proxy = new WebProxy(ConfigurationManager.AppSettings["ipproxy"], Convert.ToInt32(ConfigurationManager.AppSettings["port"]));
proxy.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["login"], ConfigurationManager.AppSettings["mdp"]);
webClient.Proxy = proxy;
}
webClient.DownloadStringCompleted += webClient_DownloadStringCompleted;
webClient.DownloadStringAsync(new Uri("http://blog.developpez.com/nico-pyright"));
if (ConfigurationManager.AppSettings["ipproxy"] != null && ConfigurationManager.AppSettings["port"] != null && ConfigurationManager.AppSettings["login"] != null && ConfigurationManager.AppSettings["mdp"] != null)
{
var proxy = new WebProxy(ConfigurationManager.AppSettings["ipproxy"], Convert.ToInt32(ConfigurationManager.AppSettings["port"]));
proxy.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["login"], ConfigurationManager.AppSettings["mdp"]);
webClient.Proxy = proxy;
}
webClient.DownloadStringCompleted += webClient_DownloadStringCompleted;
webClient.DownloadStringAsync(new Uri("http://blog.developpez.com/nico-pyright"));
Commentaires récents
- [Tests] Arrange Act Assert, une traduction ? dans
- [UnitTest][C#] Tester une méthode privée dans
- Récupérer une valeur d’un contrôle depuis une autre Form / inclusions croisées et déclaration anticipée dans
- Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight dans
- Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight dans
Archives
- janvier 2013
- avril 2012
- janvier 2012
- juin 2011
- janvier 2011
- décembre 2010
- novembre 2010
- septembre 2010
- juin 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- mai 2009
- avril 2009
- mars 2009
- janvier 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- août 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- octobre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007