据我所知,URL由以下字段组成:
>协议(http,https,ftp等)
>用户名
>用户密码
>主机地址(IP地址或DNS FQDN)
>港(可以暗示)
>服务器内文档的路径文件根
>参数和值的集合
>文件部分(#)
如
protocol://user:password@host:port/path/document?arg1=val1&arg2=val2#part
我需要一个代码从任何给定的URL字符串获取任何这些字段的值(或null /空值,如果没有设置).我自己实现这个,还是已经有代码了,所以我不需要发明一个轮子?
解决方法
URL类给你所需要的一切.
见 http://download.oracle.com/javase/6/docs/api/java/net/URL.html
见 http://download.oracle.com/javase/6/docs/api/java/net/URL.html
URL url = new URL("protocol://user:password@host:port/path/document?arg1=val1&arg2=val2#part"); url.getProtocol(); url.getUserInfo(); url.getAuthority(); url.getHost(); url.getPort(); url.getPath(); // document part is contained within the path field url.getQuery(); url.getRef(); // gets #part