0

我正在从 URL 字符串中检索域,但我想知道获取它并避免在“example.co.uk”URL 中获取“co”的最佳选择是什么。

有人知道算法或 .NET 框架方法吗?

我一直在寻找它,答案是与所有 TLD 的列表相匹配,目前这个列表正在快速增长。

编辑:

我已经尝试过 Uri 类,但还没有找到我要找的东西。

我尝试检索字符串的第一个子域,例如“website.example.co.uk”,即“example.co.uk”。

4

2 回答 2

0

从 URI 中获取主机名后,很容易检查它是否以“.co.uk”结尾,如果是,则提取最后 3 个组件;否则提取最后两个组件。听起来这会完成您的要求;你真的想要更一般的东西吗?

于 2013-10-08T17:33:06.110 回答
0

你的问题今天没有解决办法,每个人都有同样的痛苦。

有一个 IETF 工作组 (DBOUND) 计划为这个问题寻找解决方案,他们提出了各种各样的建议,但没有任何东西可以作为标准存在,并且该小组关闭了。如果您有兴趣:https ://datatracker.ietf.org/wg/dbound/about/

现在唯一的帮助是使用https://publicsuffix.org/上的“公共后缀列表” :确保阅读所有解释并理解这是一个手动策划的列表,因此不会实时更新和错误可以发生。

因为.uk您会在那里找到注册管理机构处理的当前 TLD 列表:

// uk : https://en.wikipedia.org/wiki/.uk
// Submitted by registry <Michael.Daly@nominet.org.uk>
uk
ac.uk
co.uk
gov.uk
ltd.uk
me.uk
net.uk
nhs.uk
org.uk
plc.uk
police.uk
*.sch.uk
于 2018-04-14T05:02:08.330 回答