`
oyqh
  • 浏览: 23760 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

URL的相关知识

阅读更多
URl是统一资源定位器的简称,它表示网络上某一资源的地址。通过URL,我们可以访问相应的Internet。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。

1.URL的组成

那首先来看看URL都包括了些什么:

URL的组成包括两个部分:协议名和资源名。

解释:

协议名:是指明获取资源所使用的传输s协议,如http、ftp、file等等

资源名:一个完整的资源名包括主机名、端口号、文件名或文件内部的一个引用。

注:并不是每一个URL都要包括这些内容的,对于多数协议,主机名和文件名是必须的其他的可有可无。
2.java中的URL类

了解了URL下面看看java中所提供的URL类:

类中包括以下构造方法:
public URL(String spec);//根据String表示形式创建URL对象。

public URL(String protocol,String host,int port,String file);//根据指定 protocol、host、port 号和 file 创建 URL 对象。

public URL(String protocol,String host,int port,String file,URLStreamHandler handler )//根据指定的 protocol、host、port 号、file 和 handler 创建 URL 对象。

public URL(String protocol,String host,String file)//根据指定的 protocol 名称、host 名称和 file 名称创建 URL。

public URL(URL context,String spec)// 通过在指定的上下文中对给定的 spec 进行解析创建 URL。

public URL(URL context , String spec,URLStreamHandler handler )// 通过在指定的上下文中用指定的处理程序对给定的 spec 进行解析来创建 URL。

注意:类URL的构造方法都声明抛出非运行时异常,因此生成URL对象时,我们必须要对这一异常进行处理,通常是用try—catch语句进行捕获。
package com.oyqh;

import java.net.MalformedURLException;
import java.net.URL;

public class Test {
	public static void main(String[] args) {
		try {
			URL url = new URL("http://www.baidu.com");
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} 
	}
}

一个URL对象生成后,其属性是不能被改变的,但是我们可以通过类URL多提供的方法来获取这些属性:
package com.oyqh;

import java.net.MalformedURLException;
import java.net.URL;

public class Test {
	public static void main(String[] args) {
		try {
			URL url = new URL("http://betawap.joycp.net/user/login.php");
			System.out.println("url.getProtocol() = " + url.getProtocol());
			System.out.println("url.getHost() = " + url.getHost());
			System.out.println("url.getPort() = " + url.getPort());
			System.out.println("url.getFile() = " + url.getFile());
			System.out.println("url.getQuery() = " + url.getQuery());
			System.out.println("url.getPath() = " + url.getPath());
		} catch (MalformedURLException e) {
			e.printStackTrace();
		}
	}
}
输出:
url.getProtocol() = http
url.getHost() = betawap.joycp.net
url.getPort() = -1
url.getFile() = /user/login.php
url.getQuery() = null
url.getPath() = /user/login.php

3. 通过URL读取www信息

package com.oyqh;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

public class Test {
	public static void main(String[] args) {
		BufferedReader bufferedReader = null;
		try {

			URL url = new URL("http://www.baidu.com");
			bufferedReader = new BufferedReader(new InputStreamReader(url.openStream()));
			String inleng="";
			while((inleng=bufferedReader.readLine())!=null){
				System.out.println(inleng);
			}
			bufferedReader.close();
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

4.URLConnection 连接WWW

通过URL的方法openStream(),我们只能从网络上读取数据,如果我们同时还想输出数据,这时URL就不能满足我们我需求,所以引入了URLConnection。通过它可以得到我们想要的(因为该类中有getInputStream和getOutputStream)。

package com.oyqh.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class TestConnection {
	public static void main(String[] args) {
		try {
			URL url = new URL(
					"www.baidu.com");
			URLConnection connection = url.openConnection();
			BufferedReader bufferedReader = new BufferedReader(
					new InputStreamReader(connection.getInputStream()));
			String slin = "";
			while ((slin = bufferedReader.readLine()) != null) {
				System.out.println(slin);
			}
			bufferedReader.close();
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

其实URL中的openStream就相当于openConnection().getInputStream();


当我们得到一个URL对象后,就可以通过它读取指定的www资源。我们可以使用URL中的openStream()方法,

openStream()方法与指定的URL建立连接并返回InputStream.这样我们就可以将网络资源转换成流来处理了
分享到:
评论

相关推荐

    url大全

    基于这些信息,我们可以讨论以下URL相关知识点: 1. **URL结构**:URL由协议(如http或https)、双斜线、主机名、端口号(如果非默认)、路径、查询参数和片段标识符组成。 2. **URL编码和解码**:在传递特殊字符...

    URL的分析与跟踪(url知识详解)

    《URL的分析与跟踪——深度理解与应用》 在互联网世界中,URL(Uniform Resource Locator,统一资源定位符)...通过本文的深入探讨,读者将能更好地运用相关知识解决实际问题,为互联网应用的开发与维护提供有力支持。

    《HTML5网页设计》课后习题及答案05.docx

    2. 绝对URL, 相对URL, 锚URL:该题目考查了URL相关知识,绝对URL是指显示文件的完整路径的URL,相对URL是指以包含URL本身的文件夹的位置为参考点,描述目标文件夹的位置的URL,锚URL是指链接到某个页面中特定位置的...

    EBS通过URL进入表单

    知识点二:通过URL进入表单的方法 在EBS系统中,用户可以通过输入特定格式的URL进入指定的表单。这种通过URL触发的方式允许用户直接打开应用程序中的某个特定页面或表单,非常适合于快速跳转或深度链接(deep-...

    java 对URL相关处理

    ### Java对URL相关处理知识点详解 #### 一、引言 在Java开发中,经常需要对URL进行操作,包括但不限于检查URL的有效性、检测URL是否可以连接、获取服务器响应等。本文将通过几个示例代码片段,详细介绍如何利用...

    音乐url大全(303222个)

    从这份音乐URL数据集中,我们不仅可以了解到JSON数据格式的应用,还可以学习到如何使用编程语言进行数据处理、构建Web爬虫以及数据库设计等相关知识。这些技能在IT行业中有着广泛的应用价值,无论是从事软件开发还是...

    url有效性批量验证

    用户可以通过命令行参数或者配置文件(如`config.ini`)来输入需要验证的URL列表,并设置验证的相关参数。 `config.ini` 文件是配置文件,通常包含程序运行所需的各种设置,例如: 1. URL列表:列出需要验证的一...

    关键字批量URL网址采集器工具_url采集器_urlchina_

    【标题】"关键字批量URL网址采集器工具_url采集器_urlchina_" 涉及的核心知识点是网站数据抓取和URL管理。这个工具主要是为用户提供批量收集网页URL的能力,特别是基于特定关键字进行搜索的批量采集。它能够帮助用户...

    URL采集器,可以用于批量采集url与域名

    基于标签“URL”和“URL采集器”,我们可以进一步讨论相关知识点: 1. **URL**:全称为Uniform Resource Locator,统一资源定位符,是互联网上的标准资源地址。它包含了访问方式(如HTTP、HTTPS等)、服务器地址和...

    根据url来获取页面的截图

    下面将详细介绍这个过程及其相关知识点。 首先,我们需要理解`URL`(统一资源定位符)是互联网上的资源的唯一地址。通过URL,我们可以访问网页、下载文件或进行各种网络操作。在Java中,我们可以使用`java.net.URL`...

    .net实现url重写

    在提供的压缩包文件中,"ProUrl"可能是包含作者实现的URL重写功能的源代码项目,而"url rewrite"可能是相关的文档或者测试用例。读者可以通过研究这些文件,深入了解.NET环境下如何实现和应用URL重写技术。

    URL 的具体分析

    压缩包中的两个文件,`ReverseServlet.java`和`TestURLConnectionWriter.java`,可能是用于演示URL相关的Web服务和客户端请求。`ReverseServlet`可能是一个Servlet,它接收URL请求并返回一个反向的URL(即原始URL的...

    易语言URL网址编解码

    本篇将详细讲解易语言实现URL网址编解码的相关知识点。 1. **URL编码**: URL编码是将URL中的特殊字符转换为ASCII码的百分号表示法,以确保URL能在不同的系统和网络协议中正确传输。易语言中,我们可以自定义函数...

    易语言URL解码算法

    本节将详细讲解易语言URL解码算法及其相关知识点。 1. **URL编码原理** - URL编码是根据RFC3986标准,将URL中的非字母数字字符转换为%加两位十六进制数的形式。例如,空格会被编码为"%20"。 - 需要编码的字符主要...

    iis urlrewrite文件

    这个模块允许管理员和开发者通过自定义规则来重写和管理网站的URL,从而提高网站的SEO优化、实现友好的URL结构以及解决各种URL相关的路由问题。在本篇文章中,我们将深入探讨IIS URL Rewrite的相关知识点。 一、URL...

    ecshop全站URL自定义

    在ECSHOP后台,用户可以在系统设置中找到URL自定义的相关选项。通常包括分类URL、商品URL、文章URL等的配置。用户可以根据需要设定URL的前缀、后缀以及参数规则,实现个性化的URL结构。 4. **插件使用**: "全站...

    iphone url获取

    9. **Swift语法**:在Swift中,URL相关的方法和类名可能会有不同,例如`URL`替代了`NSURL`,`Data`替代了`NSData`,这些都是Swift对Objective-C原生API的改进。 10. **Xcode项目文件**:在提供的压缩包文件中,`App...

    URL编解码.rar

    下面将详细介绍URL编解码的工作原理和相关知识点。 1. **URL编码** URL编码是一种标准方法,用于在URL(统一资源定位符)中表示特殊字符。按照规定,非字母数字字符需要转换为%xy的形式,其中xy是该字符在ASCII表...

    baiduurl-master_300_百度URL关键字采集器_

    "baiduurl-master_300_百度URL关键字采集器_" 这个标题表明这是一个关于百度URL关键字采集的项目,名为“baiduurl-master”,并且可能与300教育平台有关。关键词“300”可能是特定的版本号或与300教育平台的关联,而...

    URL分类管理C#

    以下将详细介绍这一系统的可能实现和相关知识点: 1. **URL解析**:首先,程序需要能够解析URL,理解其组成部分,如协议(http、https等)、主机名、路径、查询参数等。C#中的`Uri`类可以方便地处理这些任务。 2. ...

Global site tag (gtag.js) - Google Analytics