Java 网络编程 创建和使用URL访问网络上的资源

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 网络编程 创建和使用URL访问网络上的资源相关的知识,希望对你有一定的参考价值。

链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951877.html

 创建和使用URL访问网络上的资源

  URL(Uniform Resource Locator)统一资源定位符的简称,它表示Internet上某一资源的地址。

  通过URL我们可以访问Internet上的各种网络资源,比如最常见的WWW, FTP站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。

  在目前使用最为广泛的TCP/IP中对于URL中主机名的解析也是协议的一个标准,即所谓的域名解析服务

  使用URL进行网络编程,不需要对协议本身有太多的了解,功能也比较弱,相对而言是比较简单的。

 

URL组成

  一个URL包括两个主要部分:

  协议标识符:HTTP, FTP, File等。

  资源名字:主机名,文件名,端口号,引用。

 

创建URL

  在Java程序中,可以创建表示URL地址的URL对象。

  URL对象表示一个绝对的URL地址,但URL对象可用绝对URL、相对URL和部分URL构建。

 

  创建URL的代码如下,如果创建失败会抛出异常:

 

技术分享
      try
      {
         URL myURL = new URL("http://www.google.com.tw/");
      }
      catch (MalformedURLException e)
      {
         //exception handler code here
      }
技术分享

 

  

获得URL对象的各个属性

  URL类中有各种用于获取属性的方法:

  getProtocol

  getHost

  getPort

  getFile

  getRef

  例子程序如下: 

技术分享获取URL对象属性

 

 

 

创建和使用URL访问网上资源

  为获得URL的实际比特或内容信息,用它的openConnection()方法从它创建一个URLConnection对象,与调用URL对象相关,它返回一个URLConnection对象。它可能引发IOException异常。

  URLConnection是访问远程资源属性的一般用途的类。如果你建立了与远程服务器之间的连接,你可以在传输它到本地之前用URLConnection来检查远程对象的属性。这些属性由HTTP协议规范定义并且仅对用HTTP协议的URL对象有意义。

  URL和URLConnection类对于希望建立与HTTP服务器的连接来获取信息的简单程序来说是非常好的。

  例子程序UrlConnection01,建立连接,从连接对象获取输入流,然后读入,再写出到文件中去。 

技术分享程序UrlConnection01

  

  也可以直接从URL对象获取输入流,见例子程序UrlConnection02。

技术分享程序UrlConnection02

 

   查看源代码可以看到内部实现机制是一样的: 

    public final InputStream openStream() throws java.io.IOException 
  { return openConnection().getInputStream(); }

 

   程序代码UrlConnection03用字符流的方式读取网站内容显示在控制台上。  

技术分享程序UrlConnection03

 

 

参考资料

  圣思园张龙老师Java SE系列视频教程。

以上是关于Java 网络编程 创建和使用URL访问网络上的资源的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OSX 环境中访问本地网络上的网站

基于URL的高层次Java网络编程

Java网络编程之URL网络编程

我可以从 NodeJs 服务器访问网页上的网络流量数据吗?

Java中的URL类

请问java获取请求对象的电脑ip和网络ip的方法是啥?