介绍
- java.net.URLConnection
- public abstract class URLConnection
- 如果想从某个 Web 资源获取更多信息,那么应该使用 URLConnection 类,通过它能够得到比基本的 URL 类更多的控制功能
API
static
- getDefaultUseCaches, setDefaultUseCaches
- getFileNameMap, setFileNameMap
- setDefaultAllowUserInteraction, getDefaultAllowUserInteraction
- setDefaultRequestProperty, getDefaultRequestProperty
- setContentHandlerFactory
- guessContentTypeFromName
- guessContentTypeFromStream
public
- connect
- 连接远程资源并获取响应头信息
- getInputStream, getOutputStream
- 返回从资源读取信息或向资源写入信息的流
- getContent
- 选择适当的内容处理器,以便读取资源数据并将它转换成对象
- getURL
- 获取
URL
- 获取
- getDefaultUseCaches, setDefaultUseCaches
- getPermission
- 返回一个权限对象,表示建立此对象所表示的连接所需的权限
请求属性
- setDoInput, getDoInput
- 如果 doInput 为 true ,那么用户可以接收来自该 URLConnection 的输入
- setDoOutput, getDoOutput
- 如果 doOutput 为 true ,那么用户可以将输出发送到该 URLConnection
- setIfModifiedSince, getIfModifiedSince
- 属性 ifModifiedSince 用于配置该 URLConnection 对象,使它只获取那些自从某个给定时间以来被修改过的数据。
- 调用方法时需要传人的 time 参数指的是从格林尼治时间 1970 年 1 月 1 日午夜开始计算的秒数
- setUseCaches, getUseCaches
- 如果 useCaches 为 true ,那么数据可以从本地缓存中得到。
- 请注意, URLConnection 本身并不维护这样一个缓存,缓存必须由浏览器之类的外部程序提供
- setAllowUserInteraction, getAllowUserInteraction
- 如果 allowUserInteraction 为 true ,那么可以查询用户的口令。
- 请注意, URLConnection 本身并不提供这种查询功能。查询必须由浏览器或浏览器插件之类的外部程序实现
- setConnectTimeout, getConnectTimeout
- 设置或得到连接超时时限(单位:毫秒) 。
- 如果在连接建立之前就已经达到了超时的时限,那么相关联的输入流的 connect 方法就会抛出一个 SocketTimeoutException 异常
- setReadTimeout, getReadTimeout
- 设置读取数据的超时时限(单位:毫秒) 。
- 如果在一个读操作成功之前就已经达到了超时的时限,那么 read 方法就会抛出一个 SocketTimeoutException 异常
设置 kv 对:
- setRequestProperty, getRequestProperty
- addRequestProperty
- getRequestProperties
响应消息头
- getHeaderFields
- getHeaderField, getHeaderFieldLong, getHeaderFieldInt, getHeaderFieldDate
- 返回消息头的 value
getHeaderField
返回String
,其他三个方法进行转换getHeaderFieldDate
通过Date.parse
转换- getHeaderField(0) 获取响应状态行,例如
HTTP/1.1 200 OK
- getHeaderFieldKey
String getHeaderFieldKey(int n)
- 返回消息头的 key
- n 从 1 开始
常用的消息头类型
- getContentLength, getContentLengthLong
content-length
- getLastModified
last-modified
- getDate
date
- getContentType
content-type
- getContentEncoding
content-encoding
- getExpiration
expires
- URLConnection 20230628 java neturlconnection 20230628 java net urldecoder 20230628 java net urlencoder 20230628 java net httpurlconnection 20230628 java net statement 20230628 java sql resultset 20230628 java sql connection 20230628 java sql 20230628 driver java sql httpresponse 20230628 java http drivermanager 20230628 java sql