当前位置: 首页 > 面试题库 >

使用Java实现公共后缀提取

单嘉泽
2023-03-14
问题内容

我需要提取网址的顶级域名,我得到了他的 http://publicsuffix.org/index.html

和Java实现中http://guava-libraries.googlecode.com,我找不到任何示例来提取域名

say example..
example.google.com
returns google.com

and bing.bing.bing.com
returns bing.com

任何人都可以告诉我如何使用此库来实现示例....


问题答案:

在我看来,InternetDomainName.topPrivateDomain()确实
可以满足
您的需求。Guava维护一个公共后缀列表(基于Mozilla在publicsuffix.org上的列表),该列表用于确定主机的公共后缀部分是什么…顶级私有域是公共后缀及其第一个孩子。

这是一个简单的例子:

public class Test {
  public static void main(String[] args) throws URISyntaxException {
    ImmutableList<String> urls = ImmutableList.of(
        "http://example.google.com", "http://google.com", 
        "http://bing.bing.bing.com", "http://www.amazon.co.jp/");
    for (String url : urls) {
      System.out.println(url + " -> " + getTopPrivateDomain(url));
    }
  }

  private static String getTopPrivateDomain(String url) throws URISyntaxException {
    String host = new URI(url).getHost();
    InternetDomainName domainName = InternetDomainName.from(host);
    return domainName.topPrivateDomain().name();
  }
}

运行此代码将打印:

http://example.google.com-> google.com
http://google.com-> google.com
http://bing.bing.bing.com-> bing.com
http://www.amazon.co.jp/-> amazon.co.jp


 类似资料:
  • 公共路由前缀 To set default path (route prefix), use setGlobalPrefix() method of INestApplication object. Example: 使用INestApplication对象的setGlobalPrefix()方法可以设置默认路径(route prefix)。 const app = NestFactory.cre

  • 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。 话不多说,上code: /** * @param {stri

  • Plagiarize, plagiarize, plagiarize / Only be sure always to call it, please research. Lobachevsky — Tom Lehrer 如果你对自己编制的代码有疑问,使用他人的吧。在许多情况下, 当你要写一个 Puppet 模块来管理一些软件或服务时,不必从头开始编写。 对许多流行的应用程序,在 Puppet F

  • 我的讲师给了我一个任务,创建一个程序,使用堆栈将中缀表达式转换为后缀。我制作了堆栈类和一些函数来读取中缀表达式。 但是这个名为inToPos(charstring[])的函数正在创建断点,该函数负责使用堆栈将字符串中缀中的中缀表达式转换为字符串后缀中的后缀表达式。你们能帮帮我,告诉我我做错了什么吗? 这些是我的代码,非常需要您的帮助:) 注:inToPos功能是使用以下算法实现的: 从左到右扫描中

  • 我无法ping与之关联公共IP的EC2实例。在发布之前,我阅读了Cannot-ping AWS EC2实例。这没有帮助: 以下是我如何设置的: 我使用所有默认值创建了一个新的AmazonLinuxt2.micro实例。 创建后,它在 EC2 |实例|实例。 所以我去了EC2|NETWORK 我返回EC2|INSTANCES|INSTANCES,IPv4 Public IP列显示了我刚刚创建的地址。

  • 问题内容: 我正在尝试整理实现公共接口的对象列表。涉及3个类和1个接口: 社区 类(具有一种方法: List getPeople(); ) 人员 接口(具有一种方法: String getName(); ) 女生 班(实施人员) 男生 班(实施人员) 请参见下面的代码。 我想要一个看起来像这样的XML: 或可能: 到目前为止,我得到的是: 我意识到我可以将元素更改为其他名称,但是我希望元素名称成为