0

我编写了一个从主机名中“提取”域的函数。例如

www.domain.com -> domain.com
domain.net -> domain.net
www.domain.co.uk -> domain.co.uk
www.subdomain.domain.tx.us -> domain.tx.us

等等。

但是我无法找到所有 subTDL 的列表。

对于 nominet.uk 等域,函数也会返回错误的结果

我可以在哪里找到所有这些建议?

或任何其他方式来执行相同的功能,但使用让说 DNS?

4

2 回答 2

2

使用 DNS(或任何其他算法)是不可能的,因为没有关于什么是“子域”的正式定义。

目前唯一实用的解决方案是可通过http://publicsuffix.org/获得的“公共后缀”列表。

此列表包含管理员已知的那些域,其中不同的子域被发布给不同的第三方。

它的主要用途是帮助实施跨域安全策略——例如,“foo.co.uk”的服务器不能在“co.uk”上设置域 cookie,然后将其提供给任何其他子域。

于 2012-07-01T11:14:04.420 回答
0

有描述所有子 TLD 的公开文件位于:

http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1

于 2012-06-29T11:07:08.647 回答