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 :
Il fonctionne bien sur toutes les adresses locales mais sur toutes les autres il met une erreur serverProtocolViolation (exemple : google, yahoo,...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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");
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 :
mais cela plante a l'appel de PreAuthenticate()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
Merci d'avance a vous tous.
Bonne soirée
Partager