Java URLConnection类的用法(附带实例)
URLConnection 用于应用程序和 URL 之间的连接。应用程序通过 URLConnection 可以获得 URL 对象的相关信息。它是所有 URL 连接通信类的父类。该类的对象可以用来读写 URL 对象所表示的 Internet 上的数据。
应用程序和 URL 要建立一个连接通常需要以下几个步骤:
URLConnection 类的提供了丰富的变量和方法用于操作URL连接,下面给出一些常用的变量和方法。
2) url:该变量表示此连接要在互联网上打开的远程对象。
下面通过一个案例来演示 URLConnection 的使用方法。使用 URLConnection 显示网页“http://www.baidu.com/index.htm”相关信息:
应用程序和 URL 要建立一个连接通常需要以下几个步骤:
- 步骤 01:通过在 URL 调用 openConnection 方法创建连接对象;
- 步骤 02:处理设置参数和一般请求属性;
- 步骤 03:使用 connect 方法建立到远程对象的实际连接;
- 步骤 04:远程对象变为可用。远程对象的头字段和内容变为可访问。
URLConnection 类的提供了丰富的变量和方法用于操作URL连接,下面给出一些常用的变量和方法。
Java URLConnection类的主要变量
1) connected:该变量表示 URL 的连接状态。true 表示已经建立了通信连接。false 表示此连接对象尚未创建到指定 URL 的通信连接。2) url:该变量表示此连接要在互联网上打开的远程对象。
URLConnection类的构造方法
URLConnection(URL url):创建参数为 url 的 URLConnection 对象。URLConnection类的主要方法
方法名称 | 描述 |
---|---|
Object getContent() | 获取此URL连接的内容。 |
String getContentEncoding() | 返回该URL引用资源的内容编码。 |
int getContentLength() | 返回此连接的URL引用资源的内容长度。 |
String getContentType() | 返回该URL引用资源的内容类型。 |
URL getURL() | 返回此URLConnection的URL字段的值。 |
InputStream getInputStream() | 返回从所打开连接读数据的输入流。 |
OutputStream getOutputStream() | 返回向所打开连接写数据的输出流。 |
public void setConnectTimeout(int timeout) | 设置一个指定的超时值(毫秒为单位)。 |
下面通过一个案例来演示 URLConnection 的使用方法。使用 URLConnection 显示网页“http://www.baidu.com/index.htm”相关信息:
import java.io.*; import java.net.URL; import java.net.URLConnection; public class URLConnectionTest { public static void main(String[] args) throws Exception { int ch; // 定义接收连接内容信息的整数 URL url = new URL("http://www.baidu.com/index.htm"); // 创建URL对象 // 定义URLConnection对象,并让其指向给定的连接 URLConnection uc = url.openConnection(); System.out.println("文件类型:" + uc.getContentType()); System.out.println("文件长度:" + uc.getContentLength()); System.out.println("文件内容:"); System.out.println("-------------------------------------"); // 定义字节输入流对象,并使其指向给定连接的输入流 InputStream is = uc.getInputStream(); // 创建BufferedReader 对象 while ((ch = is.read()) != -1) { // 循环读下一个字符,直到文件结束 System.out.print((char) ch); // 输出字节对应的字符 } is.close(); // 关闭字节流 } }程序运行结果为:
文件类型: text/html
文件长度: 2381
文件内容:
<!DOCTYPE html>
<!----STATUS OK--><html> <head><meta http-equiv=content-type content="text/html; charset=utf-8"><meta http-equiv=X-UA-Compatible ...