¿Cómo comprobar si una cadena es una URL HTTP válida?

Resuelto Louis Rhys asked hace 13 años • 11 respuestas

Existen los métodos Uri.IsWellFormedUriStringy Uri.TryCreate, pero parecen regresar truepara rutas de archivos, etc.

¿Cómo verifico si una cadena es una URL HTTP válida (no necesariamente activa) para fines de validación de entrada?

Louis Rhys avatar Sep 28 '11 12:09 Louis Rhys
Aceptado

Pruebe esto para validar las URL HTTP ( uriNamees la URI que desea probar):

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

O, si desea aceptar las URL HTTP y HTTPS como válidas (según el comentario de J0e3gan):

Uri uriResult;
bool result = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult) 
    && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
Arabela Paslaru avatar Sep 28 '2011 10:09 Arabela Paslaru

Este método funciona bien tanto en http como en https. Solo una linea :)

if (Uri.IsWellFormedUriString("https://www.google.com", UriKind.Absolute))

MSDN: IsWellFormedUriString

Kishath avatar May 05 '2016 12:05 Kishath