我已经写了一个从主机名中“提取”域名的函数。例如:
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
有什么建议我可以找到他们所有的吗?
或者任何其他方式来做同样的功能,但使用let,比如说DNS?
发布于 2012-06-29 19:07:09
描述所有子TLD的公开文件位于:
http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1
发布于 2012-07-01 19:14:04
使用DNS (或任何其他算法)是不可能做到这一点的,因为什么是“子域”没有正式的定义。
目前唯一实际的解决方案是通过http://publicsuffix.org/提供的“公共后缀”列表。
此列表包含管理员已知的那些域,其中不同的子域颁发给不同的第三方。
它的主要用途是帮助执行跨域安全策略-例如,"foo.co.uk“的服务器不能在"co.uk”上设置域cookie,然后将其提供给任何其他子域。
https://stackoverflow.com/questions/11257706
复制相似问题