允许在Uri中的域/子域

时间:2010-09-17 15:16:48

标签: c# url uri

我在乌里有一些网址。如何检查此网址是否属于某个域或子域。

示例:

URL:

http://www.example.com/something/index.apsx?lala=ddsadasd&dasdas=dsdas&dsdsd=ikpi&das=asd

允许的:

http://www.example.com/something/

没有说明:

http://www.example.com/some/

如果URL在允许的域中,则代码继续执行。

1 个答案:

答案 0 :(得分:2)

Uri uri = new Uri("http://www.example.com/folder/page.ext?foo=bar");
uri.Segments.Contains("folder"); // true
uri.DnsSafeHost.Split('.').Contains("example"); // true

uri.Segements是:

  • “/”
  • “的东西/”
  • “index.ext”

DnsSafeHost.Split('.')是:

  • WWW
  • 例如
  • 玉米

因此您可以根据需要使用此数据进行操作。

编辑:

uri.Segments.Any(s => String.Equals(s.Replace("/", String.Empty), "something", StringComparison.OrdinalIgnoreCase));
uri.DnsSafeHost.Split('.').Any(s => String.Equals(s, "example", StringComparison.OrdinalIgnoreCase));