首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否仅从URL获取域名?

问是否仅从URL获取域名?
EN

Stack Overflow用户
提问于 2010-01-28 19:42:37
回答 13查看 78.1K关注 0票数 37

我正在尝试从URL字符串中提取域名。我就快成功了..。我正在使用URI

我有一根绳子..。我的第一个想法是使用正则表达式,但后来我决定使用URI类

http://www.google.com/url?sa=t&source=web&ct=res&cd=1&ved=0CAgQFjAA&url=http://www.test.com/&rct=j&q=test&ei=G2phS-HdJJWTjAfckvHJDA&usg=AFQjCNFSEAztaqtkaIvEzxmRm2uOARn1kQ

我需要转换以上到google.com和谷歌没有www

我做了以下工作

代码语言:javascript
复制
Uri test = new Uri(referrer);
log.Info("Domain part : " + test.Host);

基本上,这将返回www.google.com ....如果可能的话,我想试着寄回两张表格...如前所述..。

google.com和谷歌

使用URI可以做到这一点吗?

EN

回答 13

Stack Overflow用户

发布于 2010-01-28 19:49:40

是的,这是可能的用途:

代码语言:javascript
复制
Uri.GetLeftPart( UriPartial.Authority )
票数 29
EN

Stack Overflow用户

发布于 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的硬编码字符串数组

代码语言:javascript
复制
Console.WriteLine(GetDomain.GetDomainFromUrl("http://www.beta.microsoft.com/path/page.htm"));

输出microsoft.com

和

代码语言:javascript
复制
Console.WriteLine(GetDomain.GetDomainFromUrl("http://www.beta.microsoft.co.uk/path/page.htm"));

输出microsoft.co.uk

票数 18
EN

Stack Overflow用户

发布于 2010-01-28 19:50:46

不能保证google.com与www.google.com相同(在本例中,从技术上讲是相同的,但也可能与之不同)。

也许你真正需要的是删除“顶级”域和"www“subodmain?然后只需使用split('.'),并在最后一部分之前的部分!

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2154167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档