326 votes

Comment vérifier si une chaîne est une URL HTTP valide?

Il existe les méthodes Uri.IsWellFormedUriString et Uri.TryCreate , mais elles semblent renvoyer true pour le chemin du fichier, etc. Comment vérifier si une chaîne est une URL HTTP valide (pas nécessairement active) aux fins de validation des entrées?

553voto

Arabela Paslaru Points 1244

Essayez ceci ( uriName est le uri que vous voulez tester):

  bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult) && uriResult.Scheme == Uri.UriSchemeHttp;
 

7voto

Miserable Variable Points 17515

Après Uri.TryCreate vous pouvez vérifier Uri.Scheme pour voir si c'est HTTP (s)

3voto

user3760031 Points 1

Cela rendrait bool:

 Uri.IsWellFormedUriString(a.GetAttribute("href"), UriKind.Absolute)
 

1voto

Eranda Points 144
 Uri uri = null;
if (!Uri.TryCreate(url, UriKind.Absolute, out uri) || null == uri) return false;
else return true;
 

Ici, url est la chaîne que vous devez tester.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X