在我看来,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.comhttp://google.com-> google.comhttp://bing.bing.bing.com-> bing.comhttp://www.amazon.co.jp/-> amazon.co.jp
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)