Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中获取example.co.ir的域_Java_Url - Fatal编程技术网

如何在java中获取example.co.ir的域

如何在java中获取example.co.ir的域,java,url,Java,Url,我需要在java代码中解析url并获取域。我编写了以下代码: static String domain(URL url) { String host = url.getHost(); int i = host.lastIndexOf('.'); if(i == -1){ return "Not domain"; } if

我需要在java代码中解析url并获取域。我编写了以下代码:

    static String domain(URL url) {
        String host = url.getHost();
        int i = host.lastIndexOf('.');
                if(i == -1){

                    return "Not domain";
                }
                if (i ==0 ){

                    return "Not domain";
                }
                String domain; 
                i = host.lastIndexOf('.', i - 1);
                if (i == -1) {
                    domain = host;
                }
                else {
                    domain = host.substring(i + 1, host.length());
                }
    }
此代码解析example.com之类的域

但是我的代码如何解析域,比如exmaple.co.ir、subdomains.example.co.ir和其他扩展,比如co.uk、org.ir等等

编辑

我的url是http//blog.example.co.ir/index.php或http//blog.example.co.uk/something.html

我的目标是打印:


example.co.ir和example.co.uk

我相信这对于正确的URL格式的任何类型的URL都有效

domain= host.split("/")[2];
注:

split/将从字符串创建数组,例如:

String host="http//blog.example.co.ir/index.php";
host.split/将为您提供字符串数组:[http,blog.example.co.ir,index.php]


您所需的输出位于索引2。问题是您的解析代码仅限于只有一个点的域。您可以使用正则表达式或递归解析来解决此问题。是解决这个问题的一种方法

你的问题把我弄糊涂了。getHost应该返回主机-我缺少什么?请参考此@user2310289我的代码获取url,然后将其解析为a.b.c.example.co.ir!最后,它发送domain example.co.ir