Java网络编程:通过URL读取WWW信息

需积分: 0 0 下载量 51 浏览量 更新于2024-08-05 收藏 458KB PDF 举报
"第四章网络编程(上)关于Java通过URL读取WWW信息的代码示例" 在Java编程中,网络编程是不可或缺的一部分,特别是在开发基于Web的应用程序时。本章节主要探讨了网络编程的初步概念,特别是如何使用URL(统一资源定位符)对象和URLConnection类来访问和交互网络资源。 4.1 URL对象 URL对象是Java中的核心类,用于表示互联网上的资源位置。创建URL对象主要有两种方式: 1. 使用字符串构造URL对象: ```java URL urlBase = new URL("http://www.yushuai.me"); ``` 这里的`http://www.yushuai.me`是URL的规格化字符串,它包含了协议、主机名和路径等信息。 2. 使用现有URL对象作为上下文构造新的URL对象: ```java URL yushuai = new URL("http://www.yushuai.me/pages/1"); URL yushNew = new URL(yushuai, "Gamelan.game.html"); ``` 这种方法可以方便地构建相对URL,将新路径与已有URL结合。 获取URL对象的属性包括: - `getProtocol()`:返回URL的协议类型,如`http`或`https`。 - `getHost()`:返回URL指向的主机名,例如`www.yushuai.me`。 - `getPort()`:返回指定服务的端口号,如果未指定,默认端口会根据协议返回(如HTTP默认80,HTTPS默认443)。 - `getFile()`:返回URL的文件路径部分,包括路径和查询字符串。 - `getRef()`:返回URL的锚点(#后面的部分),如果没有则返回空字符串。 4.2 URLConnection对象 URLConnection是Java中处理URL与远程资源之间连接的抽象类。相对于URL,URLConnection提供了双向通信的能力,不仅能够从远程资源读取数据,还能向其发送数据。创建URLConnection对象通常通过调用URL的`openConnection()`方法: ```java URL cs = new URL("http://www.yushuai.me"); URLConnection connection = cs.openConnection(); ``` 使用URLConnection,我们可以实现以下功能: - 设置请求头:如`connection.setRequestProperty("User-Agent", "Mozilla/5.0")`。 - 设置连接超时和读取超时:`connection.setConnectTimeout(5000)`和`connection.setReadTimeout(5000)`。 - 打开输入/输出流以读写数据:`BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()))`或`connection.getOutputStream()`。 - 获取服务器响应码:`int responseCode = connection.getResponseCode()`。 总结来说,Java中的URL对象用于表示和解析网络资源的位置,而URLConnection对象则提供了与这些资源交互的途径。它们共同构成了Java进行网络通信的基础,使得开发者能够轻松地访问和操作网络上的各种资源。