从URL中获取主机域名?

203

如何从字符串URL中获取主机域名?

GetDomain有1个输入"URL",1个输出"Domain"

示例1

INPUT: http://support.domain.com/default.aspx?id=12345
OUTPUT: support.domain.com

例子2

INPUT: http://www.domain.com/default.aspx?id=12345
OUTPUT: www.domain.com

例子3

INPUT: http://localhost/default.aspx?id=12345
OUTPUT: localhost

看起来问题是针对URL中的_host_,而不是主机的域名,除非我完全误解了“主机域名”(而不只是“主机”)。答案类似于Uri.Host的事实支持问题应该更新以更好地反映并与问题中所需示例和接受的答案保持一致。 - NoOneSpecial
12个回答

0
你应该将字符串构造为 URI 对象,Authority 属性会返回你所需的内容。

-4

WWW 是一个别名,所以如果您想要一个域名,就不需要它。 这是我编写的小函数,用于从字符串中获取真实域名。

private string GetDomain(string url)
    {
        string[] split = url.Split('.');
        if (split.Length > 2)
            return split[split.Length - 2] + "." + split[split.Length - 1];
        else
            return url;

    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接