我需要将URLS列表转换为其主机名。所以尝试了下面提到的代码:
URL netUrl = new URL(url);
String host = netUrl.getHost();
上面提到的代码产生如下所示的输出:
a95-101-128-242.deploy.akamaitechnologies.com
a23-1-242-192.deploy.static.akamaitechnologies.com
edge-video-shv-01-lht6.fbcdn.net
我只想要上面输出的网站名称,如下所示:
akamaitechnologies
akamaitechnologies
fbcdn
请有人帮忙。 感谢
答案 0 :(得分:0)
如果要解析网址,请使用java.net.URI
。 java.net.URL
有一堆问题 - 它的equals
方法执行DNS查找,这意味着使用它的代码在与不受信任的输入一起使用时可能容易受到拒绝服务攻击。
public static String getDomainName(String url) throws URISyntaxException {
URI uri = new URI(url);
String domain = uri.getHost();
return domain.startsWith("www.") ? domain.substring(4) : domain;
}
这应该有用。