2010-06-03 26 views

回答

3

它之所以被稱爲頂級域名(TLD),但對BBC說,這只是「英國」,而不是「co.uk」。

你想不遵循一個標準,所以你需要一個表來檢查什麼「勢」僞頂級域名的

+0

謝謝,不知道。 – Michel 2010-06-03 20:44:34

1

編輯 新名稱(頂級域名)看到這個問題

Regular expression to retrieve domain.tld

的.NET URI類也可以檢索主機名,當然。

+0

但是,這並沒有真正回答這個問題,尤其不能co.uk情況。 – 2010-06-03 19:54:36

2

.co.uk是.uk tld的.co子域。這個問題在dns的實際結構上沒有意義。

+0

總是以爲.co.uk是'one'而不是子網域 – Michel 2010-06-03 20:45:08

+0

.uk中有其他子域名,例如.ac.uk,與.edu類似。 '。'總是一個分隔符。 – Stuart 2010-06-05 12:44:06

0

它被稱爲頂級域名,然後是第一個子域名,並非每個人都使用。這是因爲第一個DNS做了分割清單上的反向條目,路線比較快,所以它會一直解析到

uk -> co -> example -> www 
2

從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";