J'ai une URL relative ou absolue dans une chaîne. Je dois d'abord savoir si c'est absolu ou relatif. Comment puis-je faire cela? Je veux ensuite déterminer si le domaine de l'URL est dans une liste d'autorisation.Détermine si l'URL absolu ou relatif
Voici ma liste verte, à titre d'exemple:
string[] Allowed =
{
"google.com",
"yahoo.com",
"espn.com"
}
Une fois que je sais si son parent ou absolu, son je pense assez simple:
if (Url.IsAbsolute)
{
if (!Url.Contains("://"))
Url = "http://" + Url;
return Allowed.Contains(new Uri(Url).Host);
}
else //Is Relative
{
return true;
}
N'oubliez pas que certaines personnes utilisent un sous-domaine 'www'. – icktoofay
duplicate de http://stackoverflow.com/questions/2201171/determine-if-a-url-is-absolute-or-relative-from-vb –