Webclient Webproxy serverProtocolViolation
Bonsoir à tous,
[stage en entreprise]
Je dois réaliser une application permettant de savoir si un site est accessible ou non.
Sachant que :
- les ping ne sont pas réalisables a cause de la sécurité.
- Il y a un proxy demandant une authentification.
Donc je fais :
Code:
1 2 3 4 5 6 7 8
|
NetworkCredential nc_compte = new NetworkCredential("jean dupond", "motdepass", "mondomaine");
WebProxy wp_squid = new WebProxy("adresse:port", true);
wp_squid.Credentials = nc_compte;
WebClient wc_internet = new WebClient();
wc_internet.Proxy = wp_squid;
wc_internet.DownloadString("http://www.monsite.net"); |
Il fonctionne bien sur toutes les adresses locales mais sur toutes les autres il met une erreur serverProtocolViolation (exemple : google, yahoo,...)
De temps en temps cela fonctionne mais la plupart du temps cela plante donc je comprends pas du tout la raison.
J ai fait le test avec une tempo de 1minute entre les visites et pendant environ 3heures ( 170fois ) il a réussi a atteindre 38 fois les adresses web contre 170 pour les adresses locales. Quelqu'un a t il une idée sur le problème ?
J'ai vu qu'il y avait une histoire de pré authentification sur le WebRequest et une méthode AuthenticationManager.PreAuthenticate() ce que cela peut être utile ? SI oui quelqu'un peut il m'aider parce que j ai essayé un truc du genre :
Code:
1 2 3 4 5
|
WebRequest w = WebRequest.Create("http://www.monsite.net");
w.PreAuthenticate = true;
w.Proxy = wp_squid;
AuthenticationManager.PreAuthenticate(w, nc_compte); |
mais cela plante a l'appel de PreAuthenticate()
Merci d'avance a vous tous.
Bonne soirée