首页 > 代码库 > 获取当前域名的根域

获取当前域名的根域

 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         }

  在网上搜索此类问题时,一般都是使用正则,且只是固定判断几个域名后缀的,例如.cn,.com,.net等,所以自己根据工作中的需求写了这个方法。
  供有需要的人参考使用。

获取当前域名的根域