【发布时间】:2015-04-08 23:12:17
【问题描述】:
如何从给定的 URL 获取二级域?
到目前为止我读过的所有文章都假设域至少有一个点。我需要一种方法来获取特定 URL 的顶级域。
例子:
http://www.example.com -> example.com
http://sub.example.com -> example.com
http://example.com -> example.com
http://example:1000 -> example
http://localhost:1000 -> localhost
这里的代码是我尝试过的,不适用于上述所有场景:
var uri = new Uri("http://www.example.com");
var host = uri.Host;
var p = host.LastIndexOf(".");
var domain = host.Substring(p + 1);
(Joe 的链接问题没有解决我提出这个问题的主要问题——它只考虑其中至少有一个点的域。)
【问题讨论】:
-
@Joe 链接的问题没有解决我提出这个问题的主要问题——它只考虑至少有一个点的域。
-
恕我直言,
www.example.com的顶级域是com -
@vesan 你怎么称呼“示例”部分?我会重命名它。
-
@vesan 这不只是在您尊敬的意见中。它也在Wikipedia's opinion。