当前位置: 源码素材网 » Java教程 » 详情页

Java分析URL 成分(协议部分、作者部分、路径部分、锚定部分和询问部分)

  •   时间:2019-01-10
  • 概述:协议 URL

Java分析URL 成分,URL 一般有五个部分组成:协议部分、作者部分、路径部分、锚定部分和询问部分。但是不是所有的URL 都有这五个部分。其中作者部分又可再分为用户信息、主机和端口。本例通过编程实现了对通常的URL 各个成分的分解。运行程序并在后面加上URL 作为参数,就可以获得此URL 的各个成分。实现方法和思路如下:

URL 可以通过Java.net.URL 对象的getFile()、getHost()、getPort()、getProtocol()、getRef()、getQuery()、getpath()、getUserInfo()和getAuthority()方法来获得URL 各个成分。其中getProtocol()方法可以获得URL的协议部分,getHost()方法可以获得主机名,getPort()方法可以获得端口号,getFile()方法可以获得路径和文件部分,getpath()方法可以获得路径,getRef()方法可以获得锚定部分,getQuery()方法可以获得询问部分,getUserInfo()方法可以获得用户信息。程序代码编写如下:

1.编写useURLSplitter 类的基本框架,该类仅包括无返回值的main ()方法,该方法分析从参数中获取的URL。

2.编写useURLSplitter 类,代码如下:

import java.net.*;
public class useURLSplitter
{
	public static void main(String args[])
	{
		for (int i = 0; i < args.length; i++)
		{
			try
			{
				URL u = new URL(args[i]);
				System.out.println("The URL is " + u);
				System.out.println("The scheme is " + u.getProtocol( ));
				System.out.println("The user info is " + u.getUserInfo( ));
				String host = u.getHost( );
				if (host != null)
				{
					int atSign = host.indexOf('@');
					if (atSign != -1) host = host.substring(atSign+1);
					System.out.println("The host is " + host);
				}
				else
				{
					System.out.println("The host is null.");
				}
				System.out.println("The port is " + u.getPort( ));
				System.out.println("The path is " + u.getPath( ));
				System.out.println("The ref is " + u.getRef( ));
				System.out.println("The query string is " + u.getQuery( ));
			}
			catch (MalformedURLException e)
			{
				System.err.println(args[i] + " is not a URL I understand.");
			}
			System.out.println( );
		}
	}
} 

    相关声明:

      若“Java分析URL 成分(协议部分、作者部分、路径部分、锚定部分和询问部分)”有损您的权益,请告之我们删除内容。
      部分文章来源于网络,版权归原作者所有。