- java.lang.Object
-
- java.net.URLConnection
-
- 已知直接子类:
-
HttpURLConnection
,JarURLConnection
public abstract class URLConnection extends Object
抽象类URLConnection
是表示应用程序和URL之间的通信链接的所有类的超类。 该类的实例可以用于从URL引用的资源中读取和写入。 通常,创建与URL的连接是一个多步骤过程:Describes the process of creating a connection to a URL: openConnection() and connect() over time.openConnection()
connect()
Manipulate parameters that affect the connection to the remote resource. Interact with the resource; query header fields and contents.
时间- 通过在URL上调用
openConnection
方法创建连接对象。 - 设置参数和一般请求属性被操纵。
- 使用
connect
方法实现与远程对象的实际连接。 - 远程对象变得可用。 可以访问头字段和远程对象的内容。
使用以下方法修改设置参数:
-
setAllowUserInteraction
-
setDoInput
-
setDoOutput
-
setIfModifiedSince
-
setUseCaches
并且使用以下方法修改一般请求属性:
-
setRequestProperty
可以使用方法
setDefaultAllowUserInteraction
和setDefaultUseCaches
设置AllowUserInteraction
和UseCaches
参数的默认值。上述每个
set
方法都有相应的get
方法来检索参数或一般请求属性的值。 适用的具体参数和一般请求属性是特定于协议的。使用以下方法访问头域和连接远程对象后的内容:
-
getContent
-
getHeaderField
-
getInputStream
-
getOutputStream
某些头字段经常被访问。 方法:
-
getContentEncoding
-
getContentLength
-
getContentType
-
getDate
-
getExpiration
-
getLastModified
提供方便的访问这些领域。
getContentType
方法由getContent
方法用于确定远程对象的类型; 子类可能会方便地覆盖getContentType
方法。在常见情况下,所有预连接参数和一般请求属性都可以忽略:预连接参数和请求属性默认为明智的值。 对于这个界面的大多数客户端,只有两个有趣的方法:
getInputStream
和getContent
,它们通过方便的方法镜像在URL
类中。有关
http
连接的请求属性和标头字段的更多信息,请参见:http://www.ietf.org/rfc/rfc2616.txt
close()
的方法InputStream
或OutputStream
一个的URLConnection
的请求后,可能释放与此实例相关联的网络资源,除非特定的协议规范为其指定不同的行为。- 从以下版本开始:
- 1.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)
-
-
Field Summary
Fields Modifier and Type Field 描述 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
,则允许协议使用缓存。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
URLConnection(URL url)
构造与指定URL的URL连接。
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 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
标题字段的值。long
getContentLengthLong()
返回content-length
标题字段的值为long。String
getContentType()
返回content-type
标题字段的值。long
getDate()
返回date
标题字段的值。static boolean
getDefaultAllowUserInteraction()
返回allowUserInteraction
字段的默认值。static String
getDefaultRequestProperty(String key)
已过时。在获得适当的URLConnection实例之后,应该使用实例特定的getRequestProperty方法。boolean
getDefaultUseCaches()
返回默认值为URLConnection
的useCaches
标志。static boolean
getDefaultUseCaches(String protocol)
返回给定协议的useCaches
标志的默认值。boolean
getDoInput()
返回该值为URLConnection
的doInput
标志。boolean
getDoOutput()
返回此值URLConnection
的doOutput
标志。long
getExpiration()
返回expires
标题字段的值。static FileNameMap
getFileNameMap()
从数据文件加载文件名映射(模拟)。String
getHeaderField(int n)
返回的值n
th头字段。String
getHeaderField(String name)
返回命名头字段的值。long
getHeaderFieldDate(String name, long Default)
返回以日期解析的命名字段的值。int
getHeaderFieldInt(String name, int Default)
返回被解析为命名字段的值。String
getHeaderFieldKey(int n)
返回的关键n
th头字段。long
getHeaderFieldLong(String name, long Default)
返回被解析为命名字段的值。Map<String,List<String>>
getHeaderFields()
返回不可修改的标题字段的映射。long
getIfModifiedSince()
返回此对象的ifModifiedSince
字段的值。InputStream
getInputStream()
返回从此打开的连接读取的输入流。long
getLastModified()
返回last-modified
标题字段的值。OutputStream
getOutputStream()
返回写入此连接的输出流。Permission
getPermission()
返回一个权限对象,该对象表示创建此对象所表示的连接所需的权限。int
getReadTimeout()
返回读取超时的设置。 0返回意味着该选项被禁用(即无限超时)。Map<String,List<String>>
getRequestProperties()
返回此连接的一般请求属性的不可修改映射。String
getRequestProperty(String key)
返回此连接的命名的常规请求属性的值。URL
getURL()
返回此URLConnection
的URL
字段的值。boolean
getUseCaches()
返回此URLConnection
的useCaches
字段的值。static String
guessContentTypeFromName(String fname)
根据URL的指定“文件”组件,尝试确定对象的内容类型。static String
guessContentTypeFromStream(InputStream is)
根据输入流开头的字符,尝试确定输入流的类型。void
setAllowUserInteraction(boolean allowuserinteraction)
设置这个URLConnection
的allowUserInteraction
字段的URLConnection
。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
字段的默认值设置为指定的值。static void
setDefaultUseCaches(String protocol, boolean defaultVal)
将命名协议的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
表示。
-
-
-
字段详细信息
-
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
。- 另请参见:
-
getDoOutput()
,setDoOutput(boolean)
-
allowUserInteraction
protected boolean allowUserInteraction
如果是true
,这个URL
正在上下文中进行检查,其中允许用户交互(例如弹出认证对话)是有意义的。 如果是false
,则不允许用户交互。该字段的值可以通过
setAllowUserInteraction
方法设置。 其值由getAllowUserInteraction
方法返回。 其默认值是上次调用setDefaultAllowUserInteraction
方法中的参数的值。
-
useCaches
protected boolean useCaches
如果是true
,则允许协议使用缓存。 如果false
,协议必须始终尝试获取对象的新副本。该字段由
setUseCaches
方法设置。 其值由getUseCaches
返回。其默认值是上次调用
setDefaultUseCaches
方法时给出的值。默认设置可以通过
setDefaultUseCaches(String,boolean)
按协议覆盖。
-
ifModifiedSince
protected long ifModifiedSince
某些协议支持跳过对象的提取,除非对象在某个时间以前已被更新。非零值给出了1970年1月1日GMT之后的毫秒数。 该对象只有在最近被修改的时间才被提取。
此变量由
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()
从数据文件加载文件名映射(模拟)。 它将首先尝试加载由“content.types.user.table”属性定义的用户特定表。 如果失败,它会尝试加载默认内置表。- 结果
- FileNameMap
- 从以下版本开始:
- 1.2
- 另请参见:
-
setFileNameMap(java.net.FileNameMap)
-
setFileNameMap
public static void setFileNameMap(FileNameMap map)
设置FileNameMap。如果有安全管理员,则该方法首先调用安全管理员的
checkSetFactory
方法,以确保允许操作。 这可能会导致SecurityException。- 参数
-
map
- 要设置的FileNameMap - 异常
-
SecurityException
- 如果存在安全管理员,并且其checkSetFactory
方法不允许该操作。 - 从以下版本开始:
- 1.2
- 另请参见:
-
SecurityManager.checkSetFactory()
,getFileNameMap()
-
connect
public abstract void connect() throws IOException
打开与此URL引用的资源的通信链接,如果此类连接尚未建立。如果
connect
当连接已经打开方法被调用(由表示connected
具有值字段true
),通话将被忽略。URLConnection对象经历两个阶段:首先创建它们,然后它们被连接。 在创建之后,在连接之前,可以指定各种选项(例如doInput和UseCaches)。 连接后,尝试设置它们是一个错误。 依赖于连接的操作(如getContentLength)将在必要时隐式执行连接。
- 异常
-
SocketTimeoutException
- 如果在建立连接之前超时时间超时 -
IOException
- 如果在打开连接时发生I / O错误。 - 另请参见:
-
connected
,getConnectTimeout()
,setConnectTimeout(int)
-
setConnectTimeout
public void setConnectTimeout(int timeout)
设置打开与此URLConnection引用的资源的通信链接时使用的指定超时值(以毫秒为单位)。 如果在建立连接之前超时超时,则引发java.net.SocketTimeoutException。 超时为零被解释为无限超时。这种方法的一些非标准实现可能会忽略指定的超时。 要查看连接超时设置,请调用getConnectTimeout()。
- 参数
-
timeout
- 一个int
,以毫秒为单位指定连接超时值 - 异常
-
IllegalArgumentException
- 如果timeout参数为负 - 从以下版本开始:
- 1.5
- 另请参见:
-
getConnectTimeout()
,connect()
-
getConnectTimeout
public int getConnectTimeout()
返回连接超时的设置。0返回意味着该选项被禁用(即无限超时)。
- 结果
-
一个表示连接超时值(毫秒)的
int
- 从以下版本开始:
- 1.5
- 另请参见:
-
setConnectTimeout(int)
,connect()
-
setReadTimeout
public void setReadTimeout(int timeout)
将读取超时设置为指定的超时时间,以毫秒为单位。 非零值指定当连接建立到资源时从Input stream读取的超时。 如果在数据可用于读取之前超时超时,则会引发java.net.SocketTimeoutException。 超时为零被解释为无限超时。此方法的一些非标准实现忽略指定的超时。 要查看读取超时集,请调用getReadTimeout()。
- 参数
-
timeout
- 一个int
,指定要以毫秒为单位的超时值 - 异常
-
IllegalArgumentException
- 如果timeout参数为负 - 从以下版本开始:
- 1.5
- 另请参见:
-
getReadTimeout()
,InputStream.read()
-
getReadTimeout
public int getReadTimeout()
返回读取超时的设置。 0返回意味着该选项被禁用(即无限超时)。- 结果
-
一个
int
,表示读取超时值(以毫秒为单位) - 从以下版本开始:
- 1.5
- 另请参见:
-
setReadTimeout(int)
,InputStream.read()
-
getContentLength
public int getContentLength()
返回content-length
标题字段的值。注意 :
getContentLengthLong()
应该优于此方法,因为它返回一个long
,因此更便于携带。- 结果
-
如果内容长度未知,或者内容长度大于Integer.MAX_VALUE,则该连接的URL引用的资源的内容长度为
-1
。
-
getContentLengthLong
public long getContentLengthLong()
返回content-length
标题字段的值为long。- 结果
-
该连接的URL引用的资源的内容长度,如果内容长度未知,
-1
。 - 从以下版本开始:
- 1.7
-
getContentType
public String getContentType()
返回content-type
标题字段的值。- 结果
-
URL引用的资源的内容类型,如果不知道,
null
。 - 另请参见:
-
getHeaderField(java.lang.String)
-
getContentEncoding
public String getContentEncoding()
返回content-encoding
标题字段的值。- 结果
-
URL引用的资源的内容编码,如果不知道,
null
。 - 另请参见:
-
getHeaderField(java.lang.String)
-
getExpiration
public long getExpiration()
返回expires
标题字段的值。- 结果
- 该URL引用的资源的到期日期,如果不知道,则为0。 值为1970年1月1日GMT以来的毫秒数。
- 另请参见:
-
getHeaderField(java.lang.String)
-
getDate
public long getDate()
返回date
标题字段的值。- 结果
-
URL引用的资源的发送日期,如果不知道,
0
。 返回的值是自1970年1月1日GMT以来的毫秒数。 - 另请参见:
-
getHeaderField(java.lang.String)
-
getLastModified
public long getLastModified()
返回last-modified
标题字段的值。 结果是自1970年1月1日GMT以来的毫秒数。- 结果
-
该
URLConnection
引用的资源的日期是最后一次修改,如果不知道,则为0。 - 另请参见:
-
getHeaderField(java.lang.String)
-
getHeaderField
public String getHeaderField(String name)
返回命名头字段的值。如果对可能不同的值多次设置相同标题的连接进行调用,则只返回最后一个值。
- 参数
-
name
- 标题字段的名称。 - 结果
-
命名头字段的值,如果在标题中没有这样的字段,
null
。
-
getHeaderFields
public Map<String,List<String>> getHeaderFields()
返回不可修改的标题字段的映射。 Map键是表示响应头字段名称的字符串。 每个Map值是一个不可修改的字符串列表,表示相应的字段值。- 结果
- 头字段地图
- 从以下版本开始:
- 1.4
-
getHeaderFieldInt
public int getHeaderFieldInt(String name, int Default)
返回被解析为命名字段的值。存在此形式的
getHeaderField
,因为某些连接类型(例如,http-ng
)具有预解析头。 该连接类型的类可以覆盖此方法并使解析短路。- 参数
-
name
- 标题字段的名称。 -
Default
- 默认值。 - 结果
-
命名字段的值,解析为整数。
如果字段丢失或格式错误,则返回
Default
值。
-
getHeaderFieldLong
public long getHeaderFieldLong(String name, long Default)
返回被解析为命名字段的值。存在此形式的
getHeaderField
,因为某些连接类型(例如,http-ng
)具有预解析头。 该连接类型的类可以覆盖此方法并使解析短路。- 参数
-
name
- 标题字段的名称。 -
Default
- 默认值。 - 结果
-
命名字段的值,解析为长。
如果字段丢失或格式错误,则返回
Default
值。 - 从以下版本开始:
- 1.7
-
getHeaderFieldDate
public long getHeaderFieldDate(String name, long Default)
返回以日期解析的命名字段的值。 结果是自1970年1月1日GMT以指定字段表示的毫秒数。存在这种形式的
getHeaderField
,因为某些连接类型(例如,http-ng
)具有预分析头。 该连接类型的类可以覆盖此方法并使解析短路。- 参数
-
name
- 标题字段的名称。 -
Default
- 默认值。 - 结果
-
该字段的值被解析为日期。
如果字段丢失或格式错误,则返回
Default
参数的值。
-
getHeaderFieldKey
public String getHeaderFieldKey(int n)
返回的关键n
th头字段。 如果少于n+1
字段,则返回null
。- 参数
-
n
- 一个索引,其中n>=0
- 结果
-
键为
n
th头字段,或者null
,如果有不是较少n+1
字段。
-
getHeaderField
public String getHeaderField(int n)
- 参数
-
n
- 一个索引,其中n>=0
- 结果
-
所述的值
n
th头字段或null
,如果有少于n+1
字段 - 另请参见:
-
getHeaderFieldKey(int)
-
getContent
public Object getContent() throws IOException
检索此URL连接的内容。该方法首先通过调用
getContentType
方法来确定对象的内容类型。 如果这是应用程序第一次看到特定内容类型,则会创建该内容类型的内容处理程序。这样做如下:
- 如果应用程序使用
setContentHandlerFactory
方法设置了内容处理程序工厂实例,那么createContentHandler
内容类型作为参数调用该实例的createContentHandler
方法; 结果是该内容类型的内容处理程序。 - 如果还没有设置
ContentHandlerFactory
,或者如果工厂的createContentHandler
方法返回null
,则使用ServiceLoader机制来使用系统类加载器来定位ContentHandlerFactory实现。 工厂所在的订单是具体实施,实施可以自由地缓存位于工厂的工厂。 一个ServiceConfigurationError ,Error
或者RuntimeException
从抛出createContentHandler
,如果遇到,将传播到调用线程。 每个工厂的createContentHandler
方法(如果被实例化)都被调用,内容类型,直到工厂返回非空,或者所有工厂都已用尽。 - 否则,此方法尝试加载由
ContentHandler
定义的内容处理程序类。 如果类不存在,或者不是ContentHandler
的子类,那么抛出一个UnknownServiceException
。
- 结果
-
提取对象。
应使用
instanceof
操作符来确定返回的对象的具体类型。 - 异常
-
IOException
- 如果在获取内容时发生I / O错误。 -
UnknownServiceException
- 如果协议不支持内容类型。 - 另请参见:
-
ContentHandlerFactory.createContentHandler(java.lang.String)
,getContentType()
,setContentHandlerFactory(java.net.ContentHandlerFactory)
- 如果应用程序使用
-
getContent
public Object getContent(Class<?>[] classes) throws IOException
检索此URL连接的内容。- 参数
-
classes
- 表示请求的类型的Class
数组 - 结果
-
提取的对象是类数组中指定类型的第一个匹配项。
如果不支持请求的类型,则为null。
应该使用
instanceof
操作符来确定返回的对象的具体类型。 - 异常
-
IOException
- 如果在获取内容时发生I / O错误。 -
UnknownServiceException
- 如果协议不支持内容类型。 - 从以下版本开始:
- 1.3
- 另请参见:
-
getContent()
,ContentHandlerFactory.createContentHandler(java.lang.String)
,getContent(java.lang.Class[])
,setContentHandlerFactory(java.net.ContentHandlerFactory)
-
getPermission
public Permission getPermission() throws IOException
返回一个权限对象,该对象表示创建此对象所表示的连接所需的权限。 如果不需要权限进行连接,此方法返回null。 默认情况下,此方法返回java.security.AllPermission
。 子类应该覆盖此方法,并返回最能代表连接到URL所需的权限的权限。 例如,URLConnection
表示file:
URL将返回java.io.FilePermission
对象。返回的权限可能取决于连接的状态。 例如,连接前的许可可能与连接后的许可不同。 例如,HTTP服务器(如foo.com)可能将连接重定向到不同的主机,例如bar.com。 连接之前连接权限将代表连接到foo.com所需的权限,连接后返回的权限将是bar.com。
权限通常用于两个目的:保护通过URLConnections获取的对象的缓存,并检查收件人了解特定URL的权限。 在第一种情况下,在获得对象后应该获得许可。 例如,在HTTP连接中,这将表示连接到最终获取数据的主机的权限。 在第二种情况下,应在连接前获得并测试许可。
- 结果
- 表示由该URLConnection表示的连接所需的权限的许可对象。
- 异常
-
IOException
- 如果权限的计算需要网络或文件I / O,并在计算时发生异常。
-
getInputStream
public InputStream getInputStream() throws IOException
返回从此打开的连接读取的输入流。 如果读取超时在数据可用于读取之前超时,则可以从返回的输入流中读取SocketTimeoutException。- 结果
- 从这个打开的连接读取的输入流。
- 异常
-
IOException
- 如果在创建输入流时发生I / O错误。 -
UnknownServiceException
- 如果协议不支持输入。 - 另请参见:
-
setReadTimeout(int)
,getReadTimeout()
-
getOutputStream
public OutputStream getOutputStream() throws IOException
返回写入此连接的输出流。- 结果
- 一个写入此连接的输出流。
- 异常
-
IOException
- 如果在创建输出流时发生I / O错误。 -
UnknownServiceException
- 如果协议不支持输出。
-
toString
public String toString()
返回此URL连接的String
表示。
-
setDoInput
public void setDoInput(boolean doinput)
将此URLConnection
的doInput
字段的值设置为指定值。URL连接可用于输入和/或输出。 如果您打算使用URL连接进行输入,请将DoInput标志设置为true,否则返回false。 默认值为true。
- 参数
-
doinput
- 新的价值。 - 异常
-
IllegalStateException
- 如果已连接 - 另请参见:
-
doInput
,getDoInput()
-
getDoInput
public boolean getDoInput()
返回这个URLConnection
的doInput
标志的值。- 结果
-
该值为
URLConnection
的doInput
标志。 - 另请参见:
-
setDoInput(boolean)
-
setDoOutput
public void setDoOutput(boolean dooutput)
将此URLConnection
的doOutput
字段的值设置为指定值。URL连接可用于输入和/或输出。 如果您打算使用URL连接输出,请将DoOutput标志设置为true,否则返回false。 默认值为false。
- 参数
-
dooutput
- 新的价值。 - 异常
-
IllegalStateException
- 已连接 - 另请参见:
-
getDoOutput()
-
getDoOutput
public boolean getDoOutput()
返回此值URLConnection
的doOutput
标志。- 结果
-
该值为
URLConnection
的doOutput
标志。 - 另请参见:
-
setDoOutput(boolean)
-
setAllowUserInteraction
public void setAllowUserInteraction(boolean allowuserinteraction)
设置这个URLConnection
的allowUserInteraction
字段的URLConnection
。- 参数
-
allowuserinteraction
- 新值。 - 异常
-
IllegalStateException
- 如果已经连接 - 另请参见:
-
getAllowUserInteraction()
-
getAllowUserInteraction
public boolean getAllowUserInteraction()
返回此对象的allowUserInteraction
字段的值。- 结果
-
该对象的
allowUserInteraction
字段的值。 - 另请参见:
-
setAllowUserInteraction(boolean)
-
setDefaultAllowUserInteraction
public static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
将所有将来的URLConnection
对象的allowUserInteraction
字段的默认值设置为指定的值。- 参数
-
defaultallowuserinteraction
- 新值。 - 另请参见:
-
getDefaultAllowUserInteraction()
-
getDefaultAllowUserInteraction
public static boolean getDefaultAllowUserInteraction()
返回allowUserInteraction
字段的默认值。默认是“粘性”,是所有URLConnections的静态状态的一部分。 此标志适用于下一个,以及创建的所有以下URLConnections。
- 结果
-
默认值为
allowUserInteraction
字段。 - 另请参见:
-
setDefaultAllowUserInteraction(boolean)
-
setUseCaches
public void setUseCaches(boolean usecaches)
将此URLConnection
的useCaches
字段的值设置为指定值。一些协议执行缓存文档。 偶尔,重要的是能够“通过”并忽略高速缓存(例如浏览器中的“重新加载”按钮)。 如果连接上的UseCaches标志为true,则允许连接使用任何可以缓存的缓存。 如果是false,缓存将被忽略。 默认值来自DefaultUseCaches,默认值为true。 也可以使用
setDefaultUseCaches(String,boolean)
设置每个协议的默认值。- 参数
-
usecaches
- 表示是否允许缓存的boolean
- 异常
-
IllegalStateException
- 如果已连接 - 另请参见:
-
getUseCaches()
-
getUseCaches
public boolean getUseCaches()
返回此URLConnection
的useCaches
字段的值。- 结果
-
该值为
URLConnection
的useCaches
字段。 - 另请参见:
-
setUseCaches(boolean)
-
setIfModifiedSince
public void setIfModifiedSince(long ifmodifiedsince)
将此URLConnection
的ifModifiedSince
字段的值设置为指定值。- 参数
-
ifmodifiedsince
- 新值。 - 异常
-
IllegalStateException
- 如果已连接 - 另请参见:
-
getIfModifiedSince()
-
getIfModifiedSince
public long getIfModifiedSince()
返回此对象的ifModifiedSince
字段的值。- 结果
-
该对象的
ifModifiedSince
字段。 - 另请参见:
-
setIfModifiedSince(long)
-
getDefaultUseCaches
public boolean getDefaultUseCaches()
返回默认值为URLConnection
的useCaches
标志。这个默认值是“粘性”,是所有URLConnections的静态状态的一部分。 此标志适用于下一个,以及创建的所有以下URLConnections。 每个协议可以使用
setDefaultUseCaches(String,boolean)
覆盖此默认值- 结果
-
默认值为
useCaches
标志为URLConnection
。 - 另请参见:
-
setDefaultUseCaches(boolean)
-
setDefaultUseCaches
public void setDefaultUseCaches(boolean defaultusecaches)
将useCaches
字段的默认值设置为指定值。 使用setDefaultUseCaches(String,boolean)
,每个协议可以覆盖此默认值- 参数
-
defaultusecaches
- 新值。 - 另请参见:
-
getDefaultUseCaches()
-
setDefaultUseCaches
public static void setDefaultUseCaches(String protocol, boolean defaultVal)
将命名协议的useCaches
字段的默认值设置为给定值。 该值将覆盖给定协议的setDefaultUseCaches(boolean)
设置的任何默认设置。 对此方法的连续调用会更改设置,并影响该协议的所有未来连接的默认值。 协议名称不区分大小写。- 参数
-
protocol
- 设置默认的协议 -
defaultVal
- 是否为给定协议默认启用高速缓存 - 从以下版本开始:
- 9
-
getDefaultUseCaches
public static boolean getDefaultUseCaches(String protocol)
返回给定协议的useCaches
标志的默认值。 如果为给定协议调用了setDefaultUseCaches(String,boolean)
,则返回该值。 否则,如果调用了setDefaultUseCaches(boolean)
,则返回该值。 如果两个方法都没有被调用,则返回值为true
。 协议名称不区分大小写。- 参数
-
protocol
- 需要其defaultUseCaches设置的协议 - 结果
-
给定协议的默认值为
useCaches
标志。 - 从以下版本开始:
- 9
-
setRequestProperty
public void setRequestProperty(String key, String value)
设置一般请求属性。 如果具有密钥的属性已存在,则使用新值覆盖其值。注意:HTTP需要所有请求属性,它们可以合法地使用相同键的多个实例来使用逗号分隔的列表语法,这样可以将多个属性附加到单个属性中。
- 参数
-
key
- 请求已知的关键字(例如,“Accept
”)。 -
value
- 与之相关联的值。 - 异常
-
IllegalStateException
- 如果已连接 -
NullPointerException
- 如果键是null
- 另请参见:
-
getRequestProperty(java.lang.String)
-
addRequestProperty
public void addRequestProperty(String key, String value)
添加由键值对指定的一般请求属性。 此方法不会覆盖与相同键相关联的现有值。- 参数
-
key
- 请求已知的关键字(例如,“Accept
”)。 -
value
- 与之相关联的值。 - 异常
-
IllegalStateException
- 如果已连接 -
NullPointerException
- 如果键为空 - 从以下版本开始:
- 1.4
- 另请参见:
-
getRequestProperties()
-
getRequestProperty
public String getRequestProperty(String key)
返回此连接的命名的常规请求属性的值。- 参数
-
key
- 请求已知的关键字(例如,“接受”)。 - 结果
- 此连接的命名的常规请求属性的值。 如果key为null,则返回null。
- 异常
-
IllegalStateException
- 如果已经连接 - 另请参见:
-
setRequestProperty(java.lang.String, java.lang.String)
-
getRequestProperties
public Map<String,List<String>> getRequestProperties()
返回此连接的一般请求属性的不可修改映射。 地图键是表示请求头字段名称的字符串。 每个Map值是一个不可修改的字符串列表,表示相应的字段值。- 结果
- 该连接的一般请求属性的映射。
- 异常
-
IllegalStateException
- 如果已经连接 - 从以下版本开始:
- 1.4
-
setDefaultRequestProperty
@Deprecated public static void setDefaultRequestProperty(String key, String value)
已过时。 在获得适当的URLConnection实例之后,应该使用实例特定的setRequestProperty方法。 调用此方法将不起作用。设置一般请求属性的默认值。 创建URLConnection
,将使用这些属性进行初始化。- 参数
-
key
- 请求已知的关键字(例如,“Accept
”)。 -
value
- 与密钥相关联的值。 - 另请参见:
-
setRequestProperty(java.lang.String,java.lang.String)
,getDefaultRequestProperty(java.lang.String)
-
getDefaultRequestProperty
@Deprecated public static String getDefaultRequestProperty(String key)
已过时。 在获得适当的URLConnection实例之后,应该使用实例特定的getRequestProperty方法。返回默认请求属性的值。 为每个连接设置默认请求属性。- 参数
-
key
- 请求已知的关键字(例如,“接受”)。 - 结果
- 指定键的默认请求属性的值。
- 另请参见:
-
getRequestProperty(java.lang.String)
,setDefaultRequestProperty(java.lang.String, java.lang.String)
-
setContentHandlerFactory
public static void setContentHandlerFactory(ContentHandlerFactory fac)
设置应用程序的ContentHandlerFactory
。 应用程序最多可以调用一次。ContentHandlerFactory
实例用于从内容类型构造内容处理程序如果有安全管理员,则该方法首先调用安全管理员的
checkSetFactory
方法,以确保操作是允许的。 这可能会导致SecurityException。- 参数
-
fac
- 所需的工厂。 - 异常
-
Error
- 如果工厂已经被定义了。 -
SecurityException
- 如果存在安全管理员,并且其checkSetFactory
方法不允许该操作。 - 另请参见:
-
ContentHandlerFactory
,getContent()
,SecurityManager.checkSetFactory()
-
guessContentTypeFromName
public static String guessContentTypeFromName(String fname)
根据URL的指定“文件”组件,尝试确定对象的内容类型。 这是可以覆盖getContentType
方法的子类使用的getContentType
方法。- 参数
-
fname
- 一个文件名。 - 结果
- 根据其文件名,猜测对象的内容类型。
- 另请参见:
-
getContentType()
-
guessContentTypeFromStream
public static String guessContentTypeFromStream(InputStream is) throws IOException
根据输入流开头的字符,尝试确定输入流的类型。 该方法可以覆盖getContentType
方法的子类使用。理想情况下,不需要这个程序。 但是许多
http
服务器返回不正确的内容类型; 此外,还有许多非标准扩展。 直接检查字节以确定内容类型通常比相信http
服务器声明的内容类型更准确。- 参数
-
is
- 支持标记的输入流。 - 结果
-
内容类型的猜测,或
null
如果无法确定。 - 异常
-
IOException
- 读取输入流时是否发生I / O错误。 - 另请参见:
-
InputStream.mark(int)
,InputStream.markSupported()
,getContentType()
-
-