Tester l'existance d'une URL

Résolu
fouedelapoche Messages postés 36 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 30 octobre 2009 - Modifié le 3 févr. 2022 à 09:01
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 20 juil. 2006 à 11:05
Bonjour à tous,

je souhaiterais simplement pouvoir tester l'existence d'une url... avec un methodé sur à 100%.

j'ai essayé la méthode suivante :

Dim oRequest 
As HttpWebRequest = 
Nothing

Dim oResponse 
As HttpWebResponse = 
Nothing
TryoRequest <bold>CType(WebRequest.Create(TextBox1.Text), HttpWebRequest)oResponse</bold> 

CType(oRequest.GetResponse, HttpWebResponse)TextBox1.Text = 

"200"

Catch generatedExceptionVariable0 
As Exception

TryoRequest = 

CType(WebRequest.Create(TextBox1.Text + 
""), HttpWebRequest)oResponse = 

CType(oRequest.GetResponse, HttpWebResponse)TextBox1.Text = 

"200"

Catch generatedExceptionVariable1 
As ExceptionTextBox1.Text = 

"404"

End
Try

End
Try

mais celle ci ne marche si je choisi comme url par exemple : http://www.annecytt.fr

j'obtiens une exception : "Le serveur a commis une violation de protocole. Section=ResponseStatusLine"

alors j'aimerais savoir si vous savez pourquoi? et ce que cela veut dire?

et sinon si il existe une méthode plus sûr

merci d'avance

7 réponses

fouedelapoche Messages postés 36 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 30 octobre 2009
Modifié le 3 févr. 2022 à 09:02
Et bien je crois que je viens de trouver le problème... il s'agit d'un problème de sécurite sur l'objet HTTPWebRequest.

En effet si le header http n'est pas nickel le httpwebRequest lance une exception.... Or on sait que sur le net, tous les headers des pages sont loin d'être nickel...

donc il faut le forcer à ignorer les erreurs de validation d'entête... en ajoutant dans le web.config : 
 <

system.net><

settings><

httpWebRequestuseUnsafeHeaderParsing = "
true"
/></

settings></

system.net>
voilà, à partir de là on a bien  le résutlat escompté savoir si une url existe ou pas...

encore merci pour ton aide jesusonline

@++
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
18 juil. 2006 à 14:34
Bonjour,

pour toi c'est quoi une méthode sur à 100% est-ce que si le site te renvoie une erreur 500 alors l'url est mauvaise ? si tu te prend un 302 (redirect) c'est bon ou pas ? :-p à mon avis il faudrais déjà définir ce qu'est une url valide puise ensuite coder :-)

Sinon pour le problème, j'ai pas testé mais il semblerait que ce soit due au site lui meme avec ta requete, l'absence de pleins de paramètre http fait peut etre planter le site ... :-/

<hr />Cyril - MVS - MCP
0
fouedelapoche Messages postés 36 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 30 octobre 2009
18 juil. 2006 à 16:00
Merci de ta réponse,

Pour moi une url valide est une url accessible depuis un navigateur (peu importe qu'il y ai redirection ou pas).Je sais cela peu paraître réducteur, mais bon...

Donc un erreur 500, ou 404 l'url est mauvaise.(et je dirais même tous les codes 4xx et 5xx)

le problème là est qu'avec cette url (http://www.annecytt.fr) je reçois aucune réponse mais que si je la tape dans un navigateur l'url existe et est valide.

et donc j'aimerais avoir un réponse 200 normalement
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
18 juil. 2006 à 16:13
regarde au niveau des paramètres de ta requete, peut etre qu'il manque simplement le useragent ou un truc du genre ... fait la meme requete qu'un navigateur classique avec le accept-encoding etc...

<hr />Cyril - MVS - MCP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fouedelapoche Messages postés 36 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 30 octobre 2009
19 juil. 2006 à 11:10
J'ai peut-êter un début de solution...

si je teste avec l'adresse réélle du site : http://annecy.tt.free.fr --> 200 ok
si je teste avec l'alias donné par ovh : http://www.annecytt.fr -->exception

Peut-être faut il spécifier un paramêtre on niveau de httpWebRequest mais je vois pas lequel ? une idée ?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
19 juil. 2006 à 11:52
Analyse les trames HTTP avec fiddler ou autres tu verras bien ce qui se passe :-)

<hr />Cyril - MVS - MCP
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
20 juil. 2006 à 11:05
ah, je connaissais pas ca ... :-p

<hr />Cyril - MVS - MCP
0
Rejoignez-nous