从URL

2017-07-25 27 views
0

的域名只得到网站的名称,我需要的URL列表转换为自己的主机名。 SO试图下面提到代码:从URL

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

'String [] parts = host.split(“\\。”); System.out.println(parts [parts.length-2]);' – Seelenvirtuose

+0

如果链接是google.co.uk,那么只有co会来。 –

回答

0

如果要分析一个URL,使用java.net.URIjava.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; 
} 

这应该工作。

+0

其返回相同的结果,像a95-101-128-242.deploy.akamaitechnologies.com –

+0

是的,因为你应该将这段代码:'domain.startsWith(“WWW”)'的东西,适合为您做得更好!据我所见,你的域名不是以'www'开头的。所以改变它,你应该没问题。 –

+0

仍然没有工作 –