我正在从URL字符串中检索域名,但我想知道获取它的最佳选择是什么,并避免在“example.co.uk”网址中获取“co”。
有人知道算法或.NET框架方法吗?
我一直在寻找它,答案是与所有顶级域名的列表相匹配,目前这个列表正在快速增长。
编辑:
我已经尝试过Uri课程但没找到我想要的东西。
我尝试检索字符串的第一个子域名,例如“website.example.co.uk”,这将是“example.co.uk”。
答案 0 :(得分:0)
一旦你从URI获得了主机名,就可以很容易地检查它是否以“.co.uk”结尾,如果是,则提取最后3个组件;否则提取最后2个组件。听起来这会完成你所要求的;你真的想要更通用的东西吗?
答案 1 :(得分: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