| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.net.URLConnection
java.net.HttpURLConnection
public abstract class HttpURLConnection
支持 HTTP 特定功能的 URLConnection。有关详细信息,请参见这里。
每个 HttpURLConnection 实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络。请求后在 HttpURLConnection 的 InputStream 或 OutputStream 上调用 close() 方法可以释放与此实例关联的网络资源,但对共享的持久连接没有任何影响。如果在调用 disconnect() 时持久连接空闲,则可能关闭基础套接字。
disconnect()| 字段摘要 | |
|---|---|
| protected  int | chunkLength使用存储块编码流模式进行输出时的存储块长度。 | 
| protected  int | fixedContentLength使用固定长度流模式时的固定内容长度。 | 
| static int | HTTP_ACCEPTEDHTTP 状态码 202:Accepted。 | 
| static int | HTTP_BAD_GATEWAYHTTP 状态码 502:Bad Gateway。 | 
| static int | HTTP_BAD_METHODHTTP 状态码 405:Method Not Allowed。 | 
| static int | HTTP_BAD_REQUESTHTTP 状态码 400:Bad Request。 | 
| static int | HTTP_CLIENT_TIMEOUTHTTP 状态码 408:Request Time-Out。 | 
| static int | HTTP_CONFLICTHTTP 状态码 409:Conflict。 | 
| static int | HTTP_CREATEDHTTP 状态码 201:Created。 | 
| static int | HTTP_ENTITY_TOO_LARGEHTTP 状态码 413:Request Entity Too Large。 | 
| static int | HTTP_FORBIDDENHTTP 状态码 403:Forbidden。 | 
| static int | HTTP_GATEWAY_TIMEOUTHTTP 状态码 504:Gateway Timeout。 | 
| static int | HTTP_GONEHTTP 状态码 410:Gone。 | 
| static int | HTTP_INTERNAL_ERRORHTTP 状态码 500:Internal Server Error。 | 
| static int | HTTP_LENGTH_REQUIREDHTTP 状态码 411:Length Required。 | 
| static int | HTTP_MOVED_PERMHTTP 状态码 301:Moved Permanently。 | 
| static int | HTTP_MOVED_TEMPHTTP 状态码 302:Temporary Redirect。 | 
| static int | HTTP_MULT_CHOICEHTTP 状态码 300:Multiple Choices。 | 
| static int | HTTP_NO_CONTENTHTTP 状态码 204:No Content。 | 
| static int | HTTP_NOT_ACCEPTABLEHTTP 状态码 406:Not Acceptable。 | 
| static int | HTTP_NOT_AUTHORITATIVEHTTP 状态码 203:Non-Authoritative Information。 | 
| static int | HTTP_NOT_FOUNDHTTP 状态码 404:Not Found。 | 
| static int | HTTP_NOT_IMPLEMENTEDHTTP 状态码 501:Not Implemented。 | 
| static int | HTTP_NOT_MODIFIEDHTTP 状态码 304:Not Modified。 | 
| static int | HTTP_OKHTTP 状态码 200:OK。 | 
| static int | HTTP_PARTIALHTTP 状态码 206:Partial Content。 | 
| static int | HTTP_PAYMENT_REQUIREDHTTP 状态码 402:Payment Required。 | 
| static int | HTTP_PRECON_FAILEDHTTP 状态码 412:Precondition Failed。 | 
| static int | HTTP_PROXY_AUTHHTTP 状态码 407:Proxy Authentication Required。 | 
| static int | HTTP_REQ_TOO_LONGHTTP 状态码 414:Request-URI Too Large。 | 
| static int | HTTP_RESETHTTP 状态码 205:Reset Content。 | 
| static int | HTTP_SEE_OTHERHTTP 状态码 303:See Other。 | 
| static int | HTTP_SERVER_ERROR已过时。 放错了位置,它不应该存在。 | 
| static int | HTTP_UNAUTHORIZEDHTTP 状态码 401:Unauthorized。 | 
| static int | HTTP_UNAVAILABLEHTTP 状态码 503:Service Unavailable。 | 
| static int | HTTP_UNSUPPORTED_TYPEHTTP 状态码 415:Unsupported Media Type。 | 
| static int | HTTP_USE_PROXYHTTP 状态码 305:Use Proxy。 | 
| static int | HTTP_VERSIONHTTP 状态码 505:HTTP Version Not Supported。 | 
| protected  boolean | instanceFollowRedirects如果为 true,则协议自动执行重定向。 | 
| protected  String | methodHTTP 方法(GET、POST、PUT 等)。 | 
| protected  int | responseCode表示三位字数的 HTTP 状态码 (Status-Code) 的 int。 | 
| protected  String | responseMessageHTTP 响应消息。 | 
| 从类 java.net.URLConnection 继承的字段 | 
|---|
| allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches | 
| 构造方法摘要 | |
|---|---|
| protected  | HttpURLConnection(URL u)HttpURLConnection 的构造方法。 | 
| 方法摘要 | |
|---|---|
| abstract  void | disconnect()指示近期服务器不太可能有其他请求。 | 
|  InputStream | getErrorStream()如果连接失败但服务器仍然发送了有用数据,则返回错误流。 | 
| static boolean | getFollowRedirects()返回指示是否应该自动执行 HTTP 重定向 (3xx) 的 boolean值。 | 
|  String | getHeaderField(int n)返回 nth 头字段的值。 | 
|  long | getHeaderFieldDate(String name,
                   long Default)返回解析为日期的指定字段的值。 | 
|  String | getHeaderFieldKey(int n)返回 nth 头字段的键。 | 
|  boolean | getInstanceFollowRedirects()返回此 HttpURLConnection的instanceFollowRedirects字段的值。 | 
|  Permission | getPermission()返回一个权限对象,其代表建立此对象表示的连接所需的权限。 | 
|  String | getRequestMethod()获取请求方法。 | 
|  int | getResponseCode()从 HTTP 响应消息获取状态码。 | 
|  String | getResponseMessage()获取与来自服务器的响应代码一起返回的 HTTP 响应消息(如果有)。 | 
|  void | setChunkedStreamingMode(int chunklen)此方法用于在预先不知道内容长度时启用没有进行内部缓冲的 HTTP 请求正文的流。 | 
|  void | setFixedLengthStreamingMode(int contentLength)此方法用于在预先已知内容长度时启用没有进行内部缓冲的 HTTP 请求正文的流。 | 
| static void | setFollowRedirects(boolean set)设置此类是否应该自动执行 HTTP 重定向(响应代码为 3xx 的请求)。 | 
|  void | setInstanceFollowRedirects(boolean followRedirects)设置此 HttpURLConnection实例是否应该自动执行 HTTP 重定向(响应代码为 3xx 的请求)。 | 
|  void | setRequestMethod(String method)设置 URL 请求的方法, GET POST HEAD OPTIONS PUT DELETE TRACE 以上方法之一是合法的,具体取决于协议的限制。 | 
| abstract  boolean | usingProxy()指示连接是否通过代理。 | 
| 从类 java.lang.Object 继承的方法 | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| 字段详细信息 | 
|---|
protected String method
protected int chunkLength
-1 表示对输出禁用存储块编码。
protected int fixedContentLength
-1 表示对输出禁用固定长度流模式。
protected int responseCode
int。
 
protected String responseMessage
protected boolean instanceFollowRedirects
true,则协议自动执行重定向。如果为 false,则协议不会自动执行重定向。
 
此字段由 setInstanceFollowRedirects 方法设置。其值由 getInstanceFollowRedirects 方法返回。
 
其默认值基于构造 HttpURLConnection 时静态 followRedirects 的值。
public static final int HTTP_OK
public static final int HTTP_CREATED
public static final int HTTP_ACCEPTED
public static final int HTTP_NOT_AUTHORITATIVE
public static final int HTTP_NO_CONTENT
public static final int HTTP_RESET
public static final int HTTP_PARTIAL
public static final int HTTP_MULT_CHOICE
public static final int HTTP_MOVED_PERM
public static final int HTTP_MOVED_TEMP
public static final int HTTP_SEE_OTHER
public static final int HTTP_NOT_MODIFIED
public static final int HTTP_USE_PROXY
public static final int HTTP_BAD_REQUEST
public static final int HTTP_UNAUTHORIZED
public static final int HTTP_PAYMENT_REQUIRED
public static final int HTTP_FORBIDDEN
public static final int HTTP_NOT_FOUND
public static final int HTTP_BAD_METHOD
public static final int HTTP_NOT_ACCEPTABLE
public static final int HTTP_PROXY_AUTH
public static final int HTTP_CLIENT_TIMEOUT
public static final int HTTP_CONFLICT
public static final int HTTP_GONE
public static final int HTTP_LENGTH_REQUIRED
public static final int HTTP_PRECON_FAILED
public static final int HTTP_ENTITY_TOO_LARGE
public static final int HTTP_REQ_TOO_LONG
public static final int HTTP_UNSUPPORTED_TYPE
@Deprecated public static final int HTTP_SERVER_ERROR
public static final int HTTP_INTERNAL_ERROR
public static final int HTTP_NOT_IMPLEMENTED
public static final int HTTP_BAD_GATEWAY
public static final int HTTP_UNAVAILABLE
public static final int HTTP_GATEWAY_TIMEOUT
public static final int HTTP_VERSION
| 构造方法详细信息 | 
|---|
protected HttpURLConnection(URL u)
u - URL| 方法详细信息 | 
|---|
public String getHeaderFieldKey(int n)
nth 头字段的键。有些实现可能将 0th 头字段视为特殊状态行,即由 HTTP 服务器返回的状态行。在此情况下,getHeaderField(0) 返回状态行,而 getHeaderFieldKey(0) 返回 null。
URLConnection 中的 getHeaderFieldKeyn - 索引,其中 n >=0。
nth 头字段的键;如果键不存在,则返回 null。public void setFixedLengthStreamingMode(int contentLength)
如果应用程序尝试写入的数据多于指示的内容长度,或者应用程序在写入指示的内容长度前关闭了 OutputStream,将抛出异常。
启用输出流时,不能自动处理身份验证和重定向。如果需要身份验证和重定向,则在读取响应时将抛出 HttpRetryException。可以查询此异常以获取错误的详细信息。
该方法必须在连接 URLConnection 前调用。
contentLength - 将写入 OutputStream 的字节数。
IllegalStateException - 如果已连接 URLConnection 或者已启用另外的流模式。
IllegalArgumentException - 如果指定的内容长度小于零。setChunkedStreamingMode(int)public void setChunkedStreamingMode(int chunklen)
启用输出流时,不能自动处理身份验证和重定向。如果需要身份验证和重定向,则在读取响应时将抛出 HttpRetryException。可以查询此异常以获取错误的详细信息。
该方法必须在连接 URLConnection 前调用。
chunklen - 要写入每个存储块的字节数。如果 chunklen 小于或等于零,则使用默认值。
IllegalStateException - 如果已连接 URLConnection 或者已启用其他流模式。setFixedLengthStreamingMode(int)public String getHeaderField(int n)
nth 头字段的值。有些实现可能将 0th 头字段视为特殊状态行,即由 HTTP 服务器返回的状态行。 
 
此方法可以与 getHeaderFieldKey 方法一起使用来迭代消息中的所有头。
URLConnection 中的 getHeaderFieldn - 索引,其中 n>=0。
nth 头字段的值;如果值不存在,则返回 null。getHeaderFieldKey(int)public static void setFollowRedirects(boolean set)
如果存在安全管理器,则此方法首先调用安全管理器的 checkSetFactory 方法来确保允许操作。这可能会导致 SecurityException 异常。
set - 指示是否进行 HTTP 重定向的 boolean 值。
SecurityException - 如果安全管理器存在并且其 checkSetFactory 方法不允许进行此操作。SecurityManager.checkSetFactory(), 
getFollowRedirects()public static boolean getFollowRedirects()
boolean 值。
true;否则返回 false。setFollowRedirects(boolean)public void setInstanceFollowRedirects(boolean followRedirects)
HttpURLConnection 实例是否应该自动执行 HTTP 重定向(响应代码为 3xx 的请求)。
 默认值来自 followRedirects,其默认情况下为 true。
followRedirects - 指示是否执行 HTTP 重定向的 boolean 值。instanceFollowRedirects, 
getInstanceFollowRedirects()public boolean getInstanceFollowRedirects()
HttpURLConnection 的 instanceFollowRedirects 字段的值。
HttpURLConnection 的 instanceFollowRedirects 字段的值。instanceFollowRedirects, 
setInstanceFollowRedirects(boolean)public void setRequestMethod(String method) throws ProtocolException
method - HTTP 方法
ProtocolException - 如果无法重置方法或者请求的方法对 HTTP 无效。getRequestMethod()public String getRequestMethod()
setRequestMethod(java.lang.String)
public int getResponseCode()
                    throws IOException
HTTP/1.0 200 OK HTTP/1.0 401 Unauthorized将分别返回 200 和 401。如果无法从响应中识别任何代码(即响应不是有效的 HTTP),则返回 -1。
IOException - 如果连接到服务器时发生错误。public String getResponseMessage() throws IOException
HTTP/1.0 200 OK HTTP/1.0 404 Not Found分别提取 String "OK" 和 "Not Found"。如果无法从响应识别任何字符(结果不是有效的 HTTP),则返回 null。
null
IOException - 如果连接到服务器时发生错误。public long getHeaderFieldDate(String name, long Default)
URLConnection 复制的描述
有些连接类型(例如 http-ng)具有预解析头,所以存在这种形式的 getHeaderField。用于该类型的连接可重写此方法和缩短解析过程。
URLConnection 中的 getHeaderFieldDatename - 头字段的名称。Default - 默认值。
Default 参数的值。public abstract void disconnect()
public abstract boolean usingProxy()
public Permission getPermission() throws IOException
URLConnection 复制的描述java.security.AllPermission。子类应重写此方法并返回一个权限对象,该对象最能代表用于建立到 URL 的连接所需的权限。例如表示 file:URL 的 URLConnection 将返回 java.io.FilePermission 对象。
返回的权限可能取决于连接的状态。例如,连接之前的权限可能不同于连接之后的权限。例如,一个 HTTP 服务器(如 foo.com)可能将连接重定向到一台不同的主机(如 bar.com)。在连接之前,连接返回的权限将代表连接到 foo.com 所需的权限,而连接之后返回的权限将是连接到 bar.com 所需的权限。
使用权限通常有两个目的:保护通过 URLConnection 获取的对象的缓存;检查接收方的权限以了解特定的 URL。第一种情况下,应在获取对象之后 再获取权限。例如,在一个 HTTP 连接中,这将代表连接到最终将从该主机获取数据的主机的权限。第二种情况下,应在连接之前 对权限进行获取和检查。
URLConnection 中的 getPermissionIOException - 如果计算权限需要网络或文件 I/O 并且在计算过程中出现异常。public InputStream getErrorStream()
此方法不会导致启用连接。如果没有建立连接,或者在连接时服务器没有发生错误,或服务器出错但没有发送错误数据,则此方法返回 null。这是默认设置。
| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。