URL处理

URL可以分为如下几个部分

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

protocol(协议)可以是 HTTP、HTTPS、FTP 和 File,port 为端口号,path为文件路径及文件名。

HTTP 协议的 URL 实例如下:

http://www.baidu.com/index.html?language=cn#j2se

URL 解析:

  • 协议为(protocol):http
  • 主机为(host:port):www.runoob.com
  • 端口号为(port): 80 ,以上URL实例并未指定端口,因为 HTTP 协议默认的端口号为 80。
  • 文件路径为(path):/index.html
  • 请求参数(query):language=cn
  • 定位位置(fragment):j2se,定位到网页中 id 属性为 j2se 的 HTML 元素位置 。
import java.net.*;
import java.io.*;
 
public class URLDemo{
   public static void main(String [] args){
      try{
         URL url = new URL("http://www.baidu.com/index.html?language=cn#j2se");
         System.out.println("URL 为:" + url.toString());   
         System.out.println("协议为:" + url.getProtocol());
         System.out.println("验证信息:" + url.getAuthority());
         System.out.println("文件名及请求参数:" + url.getFile());
         System.out.println("主机名:" + url.getHost());
         System.out.println("路径:" + url.getPath());
         System.out.println("端口:" + url.getPort());
         System.out.println("默认端口:" + url.getDefaultPort());
         System.out.println("请求参数:" + url.getQuery());
         System.out.println("定位位置:" + url.getRef());
      }catch(IOException e){
         e.printStackTrace();
      }
   }
}

运行结果如下:

URL 为:http://www.baidu.com/index.html?language=cn#j2se
协议为:http
验证信息:www.baidu.com
文件名及请求参数:/index.html?language=cn
主机名:www.baidu.com
路径:/index.html
端口:-1
默认端口:80
请求参数:language=cn
定位位置:j2se

猜你喜欢

转载自www.cnblogs.com/leilei-y/p/12535201.html