1 /// <summary> 2 /// 獲取當前域名的根域 3 /// </summary> 4 /// <param name="url">域名地址</param> 5 /// <returns></returns> 6 public static string RootDomain(string url) 7 { 8 if (!url.StartsWith("http://") && !url.StartsWith("https://")) 9 {10 url = "http://" + url;11 }12 13 var uri = new Uri(url);14 string rootDomain;15 switch (uri.HostNameType)16 {17 case UriHostNameType.Dns:18 {19 if (uri.IsLoopback)20 {21 rootDomain = uri.Host;22 }23 else24 {25 string host = uri.Host;26 var hosts = host.Split('.');27 rootDomain = hosts.Length == 2 ? host : string.Format("{0}.{1}", hosts[1], hosts[2]);28 }29 }30 break;31 default:32 rootDomain = uri.Host;33 break;34 }35 return rootDomain;36 }在網(wǎng)上搜索此類問題時,一般都是使用正則,且只是固定判斷幾個域名后綴的,例如.cn,.com,.net等,所以自己根據(jù)工作中的需求寫了這個方法。 供有需要的人參考使用。
新聞熱點
疑難解答