【问题标题】:Domain name interpretation utility for javajava的域名解释工具
【发布时间】:2009-09-04 15:30:29
【问题描述】:

我发现自己需要一个 java 实用程序来获取完全限定的主机名,并从中生成 domain name

在简单的情况下,这意味着将host.company.com 转换为company.com,但使用host.subdomain.company.comhost.company.co.uk 会变得更加复杂,其中“域名”的含义有点模糊.加上SLDccSLD 的定义,就会变得混乱。

所以我的问题是,是否有一个第三方库可以理解这些东西并可以给我合理的解释。

【问题讨论】:

    标签: java network-programming dns


    【解决方案1】:

    Mozilla 会定期维护其在浏览器中使用的规则,以确保 cookie 安全,其格式可以被其他人解析和使用:

    http://publicsuffix.org/

    搜索谷歌,可能有可以解析列表的Java库,但我不知道它们的质量。

    【讨论】:

    • 我认为这是最接近的。谢谢你。
    • 请注意,此列表是非官方的、不完整的(缺少 eu.org 等)且不是最新的(因为规则总是在变化)。
    【解决方案2】:

    我不认为这样的事情存在,因为这是一个管理问题而不是技术问题,而且是一个非常多方面的问题。

    如果您最终自己动手,Mozilla wiki 上的this page 看起来是一个很好的起点,有很多参考资料。不过看起来很头疼。看看rules for Japan。哎哟。

    【讨论】:

    • 对于 cookie,它成为一个技术问题。 (看那张表,我认为有 10 个特殊的二级域,而不是 8 个。)
    【解决方案3】:

    不确定是否出于相同目的,我在代码中做了类似的事情。当我设置 cookie 时,我想将域设置为尽可能接近顶部,因此我需要找到比公共后缀低一级的域。例如,您可以为host.div.example.com 设置cookie 的最高域是.example.com。对于host.div.example.co.jp.example.co.jp

    很遗憾,该代码不在公共领域。这很容易做到。我基本上使用 Apache HttpClient 4 中的以下 2 个类,

    org.apache.http.impl.cookie.PublicSuffixFilter
    org.apache.http.impl.cookie.PublicSuffixListParser
    

    我忘记了确切的原因,但我们不得不进行一些非常小的调整。您只需从上到下遍历域,您需要的是第一个有效的 cookie 域。

    您需要从这里下载公共后缀列表并将其包含在您的 JAR 中,

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

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-26
      • 2014-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多