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
- }
- }
-