Tengo una url relativa o absoluta en una cadena. Primero necesito saber si es absoluto o relativo. ¿Cómo hago esto? Luego quiero determinar si el dominio de la url está en una lista de permitidos.Determine si Absolute or Relative URL
Aquí está mi lista de admitidos, como ejemplo:
string[] Allowed =
{
"google.com",
"yahoo.com",
"espn.com"
}
Una vez que sepa si su relativa o absoluta, su bastante simple que pienso:
if (Url.IsAbsolute)
{
if (!Url.Contains("://"))
Url = "http://" + Url;
return Allowed.Contains(new Uri(Url).Host);
}
else //Is Relative
{
return true;
}
No olvide que algunas personas usan un subdominio 'www'. – icktoofay
duplicado de http://stackoverflow.com/questions/2201171/determine-if-a-url-is-absolute-or-relative-from-vb –