我想从用户当前所在的站点名称中获取域名扩展(至少我希望是这样调用的)。
所以在www.bbc.co.uk中是co.uk和www.google.com = .com https://stackoverflow.com/questions/ask = .com
等。
尤其是那些有两个名字的(比如co.uk)让我头疼……
根据我在评论中的理解,co.uk不是顶级域名吗?这让生活变得更容易了!在标题中编辑新名称(顶级域名)
发布于 2010-06-04 03:43:12
它被称为顶级域名(tld),但对于英国广播公司来说,这只是"uk",而不是"co.uk“。
你想要的东西没有遵循标准,所以你需要一个表来检查‘潜在的’伪tld
发布于 2010-06-04 03:40:57
.co.uk是.uk tld的.co子域。这个问题在dns的实际结构方面是没有意义的。
发布于 2016-11-03 06:40:42
mozilla的PublicSuffix项目就是解决方案。这是一个维护的TLD列表。
您可以使用以下nuget包Nager.PublicSuffix。
PM> Install-Package Nager.PublicSuffix示例
var domainParser = new DomainParser(new WebTldRuleProvider());
var domainName = domainParser.Get("sub.test.co.uk");
//domainName.Domain = "test";
//domainName.Hostname = "sub.test.co.uk";
//domainName.RegistrableDomain = "test.co.uk";
//domainName.SubDomain = "sub";
//domainName.TLD = "co.uk";https://stackoverflow.com/questions/2969153
复制相似问题