我正在尝试删除子域并仅保留域名和扩展名。
很难找到子域,因为我不知道 url 中有多少个点。例如,某些网址以 .com 结尾,有些网址以 .co.uk 结尾。
如何安全地删除子域,以便 foo.bar.com 变为 bar.com,foo.bar.co.uk 变为 bar.co.uk
if(!rawUrl.startsWith("http://")&&!rawUrl.startsWith("https://")){
rawUrl = "http://"+rawUrl;
}
String url = new java.net.URL(rawUrl).getHost();
String urlWithoutSub = ???
最佳答案
您需要的是公共(public)后缀列表,例如 https://publicsuffix.org/ 中提供的列表。 。基本上,没有算法可以告诉您哪些后缀是公共(public)的,因此您需要一个列表。而且你最好使用一个公共(public)且维护良好的。
关于java - 如何删除 URL 的子域部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25586505/