Url處理工具類,獲取host、uri、queryString

package util;

/**
 * @Author wxy
 * @Date 19-8-12 上午10:36
 * @Description TODO Url處理工具
 **/
public class UrlUtils {

    public static String getHost(String url) {
        String[] split = split(url);
        return split[1] == null ? "" : split[1];
    }

    public static String getPort(String url) {
        String host = getHost(url);
        String port = "";
        if (host.indexOf(":") > 0) {
            port = host.substring(host.indexOf(":") + ":".length());
        }
        return port;
    }

    public static String getUri(String url) {
        String[] split = split(url);
        return split[2] == null ? "" : split[2];
    }

    public static String getQueryString(String url) {
        String[] split = split(url);
        return split[3] == null ? "" : split[3];
    }

    /**
     * <scheme>://<host>/<path>?<query>#<fragment>
     *
     * @param url
     * @return
     */
    private static String[] split(String url) {
        String[] arr = new String[5];
        if (url != null) {
            if (url.indexOf("://") > 0) {
                arr[0] = url.substring(0, url.indexOf("://"));
                String u = url.substring(url.indexOf("://") + "://".length());
                if (u.indexOf("/") > 0) {
                    arr[1] = u.substring(0, u.indexOf("/"));
                    String uu = u.substring(u.indexOf("/") + "/".length());
                    if (uu.indexOf("?") > 0) {
                        arr[2] = "/" + uu.substring(0, uu.indexOf("?"));
                        String uuu = uu.substring(uu.indexOf("?") + "?".length());
                        if (uuu.indexOf("#") > 0) {
                            arr[3] = uuu.substring(0, uuu.indexOf("#"));
                            arr[4] = uuu.substring(uuu.indexOf("#") + "#".length());
                        } else {
                            arr[3] = uuu;
                        }
                    } else {
                        arr[2] = "/" + uu;
                    }
                } else {
                    arr[1] = u;
                }
            }
        }
        return arr;
    }

    public static void main(String[] args) {
        String url = "http://www.baidu.com/s?name=123#aaa";
        System.out.println("host:" + getHost(url));
        System.out.println("port:" + getPort(url));
        System.out.println("uri:" + getUri(url));
        System.out.println("queryString:" + getQueryString(url));
    }
}

發佈了3 篇原創文章 · 獲贊 1 · 訪問量 6978
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章