Java 简明教程
Java - URLConnection Class
Java URLConnection Class
java.net.URLConnection 是一个抽象类,其子类表示各种类型的 URL 连接。此类的实例既可用于从由 URL 引用的资源中读取,也可用于向该资源中写入。
例如 -
-
如果您连接到协议为 HTTP 的 URL,则 URL.openConnection() 方法将返回一个 HttpURLConnection 对象。
-
如果您连接到表示 JAR 文件的 URL,则 URL.openConnection() 方法将返回一个 JarURLConnection 对象,依此类推。
URLConnection Class Fields
Sr.No. |
Field & Description |
1 |
protected boolean allowUserInteraction 如果为 true,则该 URL 将在允许用户交互的上下文中进行检查,例如弹出身份验证对话框。 |
2 |
protected boolean connected 如果为 false,则此连接对象未创建到指定 URL 的通信链路。 |
3 |
protected boolean doInput 此变量由 setDoInput 方法设置。 |
3 |
protected boolean doOutput 此变量由 setDoOutput 方法设置。 |
4 |
protected long ifModifiedSince 某些协议支持跳过对象获取,除非该对象最近已修改,晚于某个特定时间。 |
5 |
protected URL url 该 URL 表示打开此连接的万维网上的远程对象。 |
6 |
protected boolean useCaches 如果为 true,则允许协议在任何情况下使用缓存。 |
URLConnection Class Methods
URLConnection 类具有用于设置或确定有关连接信息的许多方法,包括以下方法 −
Example of URLConnection Class Methods
以下 URLConnectionDemo 程序连接到从命令行输入的 URL。
如果 URL 表示 HTTP 资源,则连接会被强制转换为 HttpURLConnection,并且资源中的数据会被逐行读取。
package com.tutorialspoint;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
public class URLConnectionDemo {
public static void main(String [] args) {
try {
URL url = new URL("https://www.tutorialspoint.com");
URLConnection urlConnection = url.openConnection();
HttpURLConnection connection = null;
if(urlConnection instanceof HttpURLConnection) {
connection = (HttpURLConnection) urlConnection;
}else {
System.out.println("Please enter an HTTP URL.");
return;
}
BufferedReader in = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
String urlString = "";
String current;
while((current = in.readLine()) != null) {
urlString += current;
}
System.out.println(urlString);
} catch (IOException e) {
e.printStackTrace();
}
}
}
此程序的示例运行将产生以下结果: