Tester l'existance d'une URL [Résolu]

Signaler
Messages postés
36
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
30 octobre 2009
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
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 CType(WebRequest.Create(TextBox1.Text), HttpWebRequest)oResponse

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

Messages postés
36
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
30 octobre 2009

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

@++
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
25
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
Messages postés
36
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
30 octobre 2009

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
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
25
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
Messages postés
36
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
30 octobre 2009

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 ?
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
25
Analyse les trames HTTP avec fiddler ou autres tu verras bien ce qui se passe :-)

<hr />Cyril - MVS - MCP
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
25
ah, je connaissais pas ca ... :-p

<hr />Cyril - MVS - MCP