Java API を使用して、指定された URL に基づいて 2 番目のドメイン名を抽出します。
https://github.com/whois-server-list/public-suffix-list
PUBLIC SUFFIX LISTMozillaの に基づいています。
以下のコードを指定します。
PublicSuffixListFactory factory = new PublicSuffixListFactory();
PublicSuffixList suffixList = factory.build();
String[] domainArray = new String[10];
domainArray[0] = "swcdn.apple.com";
domainArray[1] = "production-pdt.siriusxm.com";
domainArray[2] = "audio2.spotify.com";
domainArray[3] = "a1935.phobos.apple.com";
domainArray[4] = "r13---sn-ab5l6n7r.c.pack.google.com";
domainArray[5] = "a132.phobos.apple.com";
domainArray[6] = "a1736.phobos.apple.com";
domainArray[7] = "r17---sn-vgqs7n7l.c.android.clients.google.com";
domainArray[8] = "s4.amazonaws.com";
domainArray[9] = "s3.amazonaws.com";
for(String string : domainArray){
String domain = suffixList.getRegistrableDomain(string);
System.out.println(domain);
}
次の出力が得られました。
apple.com
siriusxm.com
spotify.com
apple.com
google.com
apple.com
apple.com
google.com
amazonaws.com
null
ほとんどのドメインでうまく機能しますが、 のs3.amazonaws.com場合は null を返します。ただし、同様のもののs4.amazonaws.com場合: 、正しい結果が得られます。問題は何ですか?