我正在尝试从URL字符串中提取域名。我就快成功了..。我正在使用URI
我有一根绳子..。我的第一个想法是使用正则表达式,但后来我决定使用URI类
我需要转换以上到google.com和谷歌没有www
我做了以下工作
Uri test = new Uri(referrer);
log.Info("Domain part : " + test.Host);基本上,这将返回www.google.com ....如果可能的话,我想试着寄回两张表格...如前所述..。
google.com和谷歌
使用URI可以做到这一点吗?
发布于 2010-01-28 19:49:40
是的,这是可能的用途:
Uri.GetLeftPart( UriPartial.Authority )发布于 2011-02-13 15:47:02
@Dewfy:缺点是您的方法返回"www.test.co.uk“的"uk”,但这里的域显然是"test.co.uk“。
@naivists:缺陷是您的方法为"www.beta.microsoft.com“返回"beta.microsoft.com”,但这里的域显然是"microsoft.com“。
我需要同样的东西,所以我写了一个类,你可以复制并粘贴到你的解决方案中。它使用TLD.http://pastebin.com/raw.php?i=VY3DCNhp的硬编码字符串数组
Console.WriteLine(GetDomain.GetDomainFromUrl("http://www.beta.microsoft.com/path/page.htm"));输出microsoft.com
和
Console.WriteLine(GetDomain.GetDomainFromUrl("http://www.beta.microsoft.co.uk/path/page.htm"));输出microsoft.co.uk
发布于 2010-01-28 19:50:46
不能保证google.com与www.google.com相同(在本例中,从技术上讲是相同的,但也可能与之不同)。
也许你真正需要的是删除“顶级”域和"www“subodmain?然后只需使用split('.'),并在最后一部分之前的部分!
https://stackoverflow.com/questions/2154167
复制相似问题