URI.getHost() 带有特殊字符

URI.getHost() with special characters

我正在尝试用

获取当前url的域名

对于案例:özgür.com,我认为由于特殊字符代码会引发异常,解决此问题的正确方法是什么?;

private static String getDomainName(String url) throws Exception {
    if(!url.contains("http")){
        url = "http://" + url;
    }

    URI uri = new URI(url);
    String domain = uri.getHost();

    return domain.startsWith("www.") ? domain.substring(4) : domain;
}

uri.getHost() returns空;和方法抛出 NullPointerException。

用 URL 替换 URI 怎么样? URL uri = new URL (url);