|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.net
类 URLConnection
java.lang.Object java.net.URLConnection
- 直接已知子类:
- HttpURLConnection, JarURLConnection
-
public abstract class URLConnection
- extends Object
抽象类 URLConnection
是所有类的超类,它代表应用程序和 URL 之间的通信链接。此类的实例可用于读取和写入此 URL 引用的资源。通常,创建一个到 URL 的连接需要几个步骤:
openConnection() |
connect() |
---|---|
对影响到远程资源连接的参数进行操作。 | 与资源交互;查询头字段和内容。 |
时间
- 通过在 URL 上调用
openConnection
方法创建连接对象。 - 操作设置参数和一般请求属性。
- 使用
connect
方法建立到远程对象的实际连接。 - 远程对象变为可用。远程对象的头字段和内容变为可访问。
使用以下方法修改设置参数:
setAllowUserInteraction
setDoInput
setDoOutput
setIfModifiedSince
setUseCaches
使用以下方法修改一般请求属性:
setRequestProperty
使用 setDefaultAllowUserInteraction
和 setDefaultUseCaches
可设置 AllowUserInteraction
和 UseCaches
参数的默认值。
上面每个 set
方法都有一个用于检索参数值或一般请求属性值的对应 get
方法。适用的具体参数和一般请求属性取决于协议。
在建立到远程对象的连接后,以下方法用于访问头字段和内容:
getContent
getHeaderField
getInputStream
getOutputStream
某些头字段需要经常访问。以下方法:
getContentEncoding
getContentLength
getContentType
getDate
getExpiration
getLastModifed
提供对这些字段的便捷访问。getContent
方法使用 getContentType
方法以确定远程对象类型;子类重写 getContentType
方法很容易。
一般情况下,所有的预连接参数和一般请求属性都可忽略:预连接参数和一般请求属性默认为敏感值。对于此接口的大多数客户端而言,只有两个感兴趣的方法:getInputStream
和 getContent
,它们通过便捷方法镜像到 URL
类中。
有关 http
连接的请求属性和头字段的更多信息,可从以下位置找到:
有关http://www.ietf.org/rfc/rfc2068.txt
fileNameMap
的注意事项:在 JDK 1.1.6 以前的版本中,URLConnection
的 fileNameMap
为公开字段。在 JDK 1.1.6 及以后的版本中,fileNameMap
为私有;对其添加了 accessor 和 mutator 方法 getFileNameMap
及 setFileNameMap
以便访问。Compatibility 页中也对此更改进行了介绍。 完成请求后,在一个 URLConnection 的 InputStream 或 OutputStream 上调用 close() 方法可能释放与此实例相关的网络资源,除非特定的协议规范为其指定了其他行为。
- 从以下版本开始:
- JDK1.0
- 另请参见:
-
URL.openConnection()
,connect()
,getContent()
,getContentEncoding()
,getContentLength()
,getContentType()
,getDate()
,getExpiration()
,getHeaderField(int)
,getHeaderField(java.lang.String)
,getInputStream()
,getLastModified()
,getOutputStream()
,setAllowUserInteraction(boolean)
,setDefaultUseCaches(boolean)
,setDoInput(boolean)
,setDoOutput(boolean)
,setIfModifiedSince(long)
,setRequestProperty(java.lang.String, java.lang.String)
,setUseCaches(boolean)
字段摘要 | |
---|---|
protected boolean |
allowUserInteraction 如果为 true ,则在允许用户交互(例如弹出一个身份验证对话框)的上下文中对此 URL 进行检查。 |
protected boolean |
connected 如果为 false ,则此连接对象尚未创建到指定 URL 的通信链接。 |
protected boolean |
doInput 此变量由 setDoInput 方法设置。 |
protected boolean |
doOutput 此变量由 setDoOutput 方法设置。 |
protected long |
ifModifiedSince 有些协议支持跳过对象获取,除非该对象在某个特定时间点之后又进行了修改。 |
protected URL |
url URL 表示此连接要在互联网上打开的远程对象。 |
protected boolean |
useCaches 如果为 true ,则只要有条件就允许协议使用缓存。 |
构造方法摘要 | |
---|---|
protected |
URLConnection(URL url) 构造一个到指定 URL 的 URL 连接。 |
方法摘要 | |
---|---|
void |
addRequestProperty(String key, String value) 添加由键值对指定的一般请求属性。 |
abstract void |
connect() 打开到此 URL 引用的资源的通信链接(如果尚未建立这样的连接)。 |
boolean |
getAllowUserInteraction() 返回此对象的 allowUserInteraction 字段的值。 |
int |
getConnectTimeout() 返回连接超时设置。 |
Object |
getContent() 检索此 URL 连接的内容。 |
Object |
getContent(Class[] classes) 检索此 URL 连接的内容。 |
String |
getContentEncoding() 返回 content-encoding 头字段的值。 |
int |
getContentLength() 返回 content-length 头字段的值。 |
String |
getContentType() 返回 content-type 头字段的值。 |
long |
getDate() 返回 date 头字段的值。 |
static boolean |
getDefaultAllowUserInteraction() 返回 allowUserInteraction 字段的默认值。 |
static String |
getDefaultRequestProperty(String key) 已过时。 应在获得 URLConnection 的适当实例后使用特定 getRequestProperty 方法的实例。 |
boolean |
getDefaultUseCaches() 返回 URLConnection 的 useCaches 标志的默认值。 |
boolean |
getDoInput() 返回此 URLConnection 的 doInput 标志的值。 |
boolean |
getDoOutput() 返回此 URLConnection 的 doOutput 标志的值。 |
long |
getExpiration() 返回 expires 头字段的值。 |
static FileNameMap |
getFileNameMap() 从数据文件加载文件名映射(一个 mimetable)。 |
String |
getHeaderField(int n) 返回第 n 个头字段的值。 |
String |
getHeaderField(String name) 返回指定的头字段的值。 |
long |
getHeaderFieldDate(String name, long Default) 返回解析为日期的指定字段的值。 |
int |
getHeaderFieldInt(String name, int Default) 返回解析为数字的指定字段的值。 |
String |
getHeaderFieldKey(int n) 返回第 n 个头字段的键。 |
Map<String,List<String>> |
getHeaderFields() 返回头字段的不可修改的 Map。 |
long |
getIfModifiedSince() 返回此对象的 ifModifiedSince 字段的值。 |
InputStream |
getInputStream() 返回从此打开的连接读取的输入流。 |
long |
getLastModified() 返回 last-modified 头字段的值。 |
OutputStream |
getOutputStream() 返回写入到此连接的输出流。 |
Permission |
getPermission() 返回一个权限对象,其代表建立此对象表示的连接所需的权限。 |
int |
getReadTimeout() 返回读入超时设置。 |
Map<String,List<String>> |
getRequestProperties() 返回一个由此连接的一般请求属性构成的不可修改的 Map。 |
String |
getRequestProperty(String key) 返回此连接指定的一般请求属性值。 |
URL |
getURL() 返回此 URLConnection 的 URL 字段的值。 |
boolean |
getUseCaches() 返回此 URLConnection 的 useCaches 字段的值。 |
static String |
guessContentTypeFromName(String fname) 根据 URL 的指定 "file" 部分尝试确定对象的内容类型。 |
static String |
guessContentTypeFromStream(InputStream is) 根据输入流的开始字符尝试确定输入流的类型。 |
void |
setAllowUserInteraction(boolean allowuserinteraction) 设置此 URLConnection 的 allowUserInteraction 字段的值。 |
void |
setConnectTimeout(int timeout) 设置一个指定的超时值(以毫秒为单位),该值将在打开到此 URLConnection 引用的资源的通信链接时使用。 |
static void |
setContentHandlerFactory(ContentHandlerFactory fac) 设置应用程序的 ContentHandlerFactory 。 |
static void |
setDefaultAllowUserInteraction(boolean defaultallowuserinteraction) 将未来的所有 URLConnection 对象的 allowUserInteraction 字段的默认值设置为指定的值。 |
static void |
setDefaultRequestProperty(String key, String value) 已过时。 应在获得 URLConnection 的适当实例后使用特定 setRequestProperty 方法的实例。调用此方法没有任何作用。 |
void |
setDefaultUseCaches(boolean defaultusecaches) 将 useCaches 字段的默认值设置为指定的值。 |
void |
setDoInput(boolean doinput) 将此 URLConnection 的 doInput 字段的值设置为指定的值。 |
void |
setDoOutput(boolean dooutput) 将此 URLConnection 的 doOutput 字段的值设置为指定的值。 |
static void |
setFileNameMap(FileNameMap map) 设置 FileNameMap。 |
void |
setIfModifiedSince(long ifmodifiedsince) 将此 URLConnection 的 ifModifiedSince 字段的值设置为指定的值。 |
void |
setReadTimeout(int timeout) 将读超时设置为指定的超时,以毫秒为单位。 |
void |
setRequestProperty(String key, String value) 设置一般请求属性。 |
void |
setUseCaches(boolean usecaches) 将此 URLConnection 的 useCaches 字段的值设置为指定的值。 |
String |
toString() 返回此 URL 连接的 String 表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
url
protected URL url
-
URL 表示此连接要在互联网上打开的远程对象。
使用
getURL
方法可访问此字段的值。此变量的默认值为
URLConnection
构造方法中的 URL 参数的值。
doInput
protected boolean doInput
-
此变量由
setDoInput
方法设置。其值由getDoInput
方法返回。URL 连接可用于输入和/或输出。将
doInput
标志设置为true
,指示应用程序要从 URL 连接读取数据。此字段的默认值为
true
。- 另请参见:
-
getDoInput()
,setDoInput(boolean)
doOutput
protected boolean doOutput
-
此变量由
setDoOutput
方法设置。其值由getDoOutput
方法返回。URL 连接可用于输入和/或输出。将
doOutput
标志设置为true
,指示应用程序要将数据写入 URL 连接。此字段的默认值为
false
。
allowUserInteraction
protected boolean allowUserInteraction
-
如果为
true
,则在允许用户交互(例如弹出一个身份验证对话框)的上下文中对此URL
进行检查。如果为false
,则不允许有任何用户交互。使用
setAllowUserInteraction
方法可对此字段的值进行设置。其值由getAllowUserInteraction
方法返回。其默认值为上一次调用setDefaultAllowUserInteraction
方法所用的参数的值。
useCaches
protected boolean useCaches
-
如果为
true
,则只要有条件就允许协议使用缓存。如果为false
,则该协议始终必须获得此对象的新副本。此字段由
setUseCaches
方法设置。其值由getUseCaches
方法返回。其默认值为上一次调用
setDefaultUseCaches
方法时给定的值。
ifModifiedSince
protected long ifModifiedSince
-
有些协议支持跳过对象获取,除非该对象在某个特定时间点之后又进行了修改。
一个非零的值给定一个时间,它表示距离格林威治标准时间 1970 年 1 月 1 日的毫秒数。只有在该时间之后又进行了修改时,才获取该对象。
此变量由
setIfModifiedSince
方法设置。其值由getIfModifiedSince
方法返回。此字段的默认值为
0
,指示必须一直进行捕获。
connected
protected boolean connected
-
如果为
false
,则此连接对象尚未创建到指定 URL 的通信链接。如果为true
,则已经建立了通信链接。
构造方法详细信息 |
---|
URLConnection
protected URLConnection(URL url)
-
构造一个到指定 URL 的 URL 连接。不会创建到 URL 所引用的对象的连接。
- 参数:
-
url
- 指定的 URL。
方法详细信息 |
---|
getFileNameMap
public static FileNameMap getFileNameMap()
- 从数据文件加载文件名映射(一个 mimetable)。它首先尝试加载由 "content.types.user.table" 属性定义的特定于用户的表。如果加载失败,它会尝试加载位于 java 主目录下的 lib/content-types.properties 中的默认内置表。
-
- 返回:
- FileNameMap
- 从以下版本开始:
- 1.2
- 另请参见:
-
setFileNameMap(java.net.FileNameMap)