package me.test.jdk.java.net; import java.net.URL; /** * URL 解析 * <p/> * 参考: * [RFC 3986: Uniform Resource Identifier (URI): Generic Syntax](http://tools.ietf.org/html/rfc3986#section-3.3) * [Parsing matrix URLs](http://www.w3.org/DesignIssues/MatrixURIs.html) * [URL matrix parameters vs. request parameters](http://stackoverflow.com/questions/2048121/url-matrix-parameters-vs-request-parameters) * [java.net.URL](http://docs.oracle.com/javase/8/docs/api/index.html?java/net/URL.html) */ public class ParseUrl { public static void main(String[] args) throws Exception { URL url = new URL("http://" + "zhang3:123456@" + "doc.kingsilk.xyz:" + "8080" + "/dep;id=1" + "/user;familyName=zhang,wang;joinDate=2015" + "?p1=111&p1=112&p2=222" + "#/ccc/ddd?a=aaa&b=bbb#ccc"); System.out.println("URL : " + url); System.out.println("--------------------------------------------------"); System.out.println("Protocol : " + url.getProtocol()); System.out.println("Authority : " + url.getAuthority()); System.out.println("UserInfo : " + url.getUserInfo()); System.out.println("Host : " + url.getHost()); System.out.println("Port : " + url.getPort()); System.out.println("DefaultPort : " + url.getDefaultPort()); System.out.println("Path : " + url.getPath()); System.out.println("File : " + url.getFile()); System.out.println("Query : " + url.getQuery()); System.out.println("Ref : " + url.getRef()); } }