Java:解析URL的参数:协议/主机/端口号/文件路径/请求参数/定位位置

URL(Uniform Resource Locator)中文名为统一资源定位符

URL的组成部分

protocol://host:port/path?query#fragment

解析示例

https://www.demo.com/getList?page=1&size=30#top

解析结果

部分 英文名 示例
协议 protocol https
主机 host www.demo.com
端口号 port 443(HTTPS 协议默认的端口号为 443)
文件路径 path /getList
请求参数 query page=1&size=30
定位位置 fragment top

代码示例

package com.example.demo;

import org.junit.Test;

import java.net.MalformedURLException;
import java.net.URL;

public class URLTests {
    @Test
    public void testURL() throws MalformedURLException {
        String urlString = "https://www.demo.com/getList?page=1&size=30#top";

        URL url = new URL(urlString);

        // 协议
        String protocol = url.getProtocol();
        // 主机名
        String host = url.getHost();
        // 端口
        Integer port = url.getPort();
        // 默认端口
        Integer defaultPort = url.getDefaultPort();
        // 路径
        String path = url.getPath();
        // 请求参数
        String query = url.getQuery();
        // 定位位置
        String ref = url.getRef();

        System.out.println("protocol: " + protocol);
        // https
        System.out.println("host: " + host);
        // www.demo.com
        System.out.println("port: " + port);
        // -1
        System.out.println("defaultPort: " + defaultPort);
        // 443
        System.out.println("path: " + path);
        // /getList
        System.out.println("query: " + query);
        // page=1&size=30
        System.out.println("ref: " + ref);
        // top
    }
}

参考文章

  1. Java URL处理

你可能感兴趣的:(Java学习路线,java,数据库,开发语言)