如何在Java中解析URL

avatar
作者
筋斗云
阅读量:0

在Java中,可以使用java.net.URL类来解析URL

import java.net.MalformedURLException; import java.net.URL;  public class URLParser {     public static void main(String[] args) {         try {             // 定义一个URL字符串             String urlStr = "https://www.example.com:8080/path?param1=value1&param2=value2#fragment";                          // 创建一个URL对象             URL url = new URL(urlStr);              // 获取协议             String protocol = url.getProtocol();             System.out.println("协议: " + protocol);              // 获取主机名             String host = url.getHost();             System.out.println("主机名: " + host);              // 获取端口号             int port = url.getPort();             System.out.println("端口号: " + port);              // 获取路径             String path = url.getPath();             System.out.println("路径: " + path);              // 获取查询参数             String query = url.getQuery();             System.out.println("查询参数: " + query);              // 获取片段标识符             String fragment = url.getRef();             System.out.println("片段标识符: " + fragment);          } catch (MalformedURLException e) {             e.printStackTrace();         }     } } 

运行上述代码将输出:

协议: https 主机名: www.example.com 端口号: 8080 路径: /path 查询参数: param1=value1&param2=value2 片段标识符: fragment 

请注意,如果URL没有指定端口号,getPort()方法将返回-1。如果需要获取默认端口号(例如,HTTP的默认端口是80,HTTPS的默认端口是443),可以使用url.getDefaultPort()

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!