httpurlconnection.java

来自「gcc3.2.1源代码」· Java 代码 · 共 183 行

JAVA
183
字号
// HttpURLConnection.java - Subclass of communications links using//			Hypertext Transfer Protocol./* Copyright (C) 1999, 2000  Free Software Foundation   This file is part of libgcj.This software is copyrighted work licensed under the terms of theLibgcj License.  Please consult the file "LIBGCJ_LICENSE" fordetails.  */package java.net;import java.io.*;/** * @author Warren Levy <warrenl@cygnus.com> * @date March 29, 1999. *//** * Written using on-line Java Platform 1.2 API Specification, as well * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998). * Status:  Believed complete and correct. */public abstract class HttpURLConnection extends URLConnection{  /* HTTP Success Response Codes */  public static final int HTTP_OK		= 200;  public static final int HTTP_CREATED		= 201;  public static final int HTTP_ACCEPTED 	= 202;  public static final int HTTP_NOT_AUTHORITATIVE = 203;  public static final int HTTP_NO_CONTENT	= 204;  public static final int HTTP_RESET		= 205;  public static final int HTTP_PARTIAL		= 206;  /* HTTP Redirection Response Codes */  public static final int HTTP_MULT_CHOICE	= 300;  public static final int HTTP_MOVED_PERM	= 301;  public static final int HTTP_MOVED_TEMP	= 302;  public static final int HTTP_SEE_OTHER	= 303;  public static final int HTTP_NOT_MODIFIED	= 304;  public static final int HTTP_USE_PROXY	= 305;  /* HTTP Client Error Response Codes */  public static final int HTTP_BAD_REQUEST	= 400;  public static final int HTTP_UNAUTHORIZED	= 401;  public static final int HTTP_PAYMENT_REQUIRED	= 402;  public static final int HTTP_FORBIDDEN	= 403;  public static final int HTTP_NOT_FOUND	= 404;  public static final int HTTP_BAD_METHOD	= 405;  public static final int HTTP_NOT_ACCEPTABLE	= 406;  public static final int HTTP_PROXY_AUTH	= 407;  public static final int HTTP_CLIENT_TIMEOUT	= 408;  public static final int HTTP_CONFLICT		= 409;  public static final int HTTP_GONE		= 410;  public static final int HTTP_LENGTH_REQUIRED	= 411;  public static final int HTTP_PRECON_FAILED	= 412;  public static final int HTTP_ENTITY_TOO_LARGE	= 413;  public static final int HTTP_REQ_TOO_LONG	= 414;  public static final int HTTP_UNSUPPORTED_TYPE	= 415;  /* HTTP Server Error Response Codes */  public static final int HTTP_SERVER_ERROR	= 500;  public static final int HTTP_INTERNAL_ERROR	= 501;  public static final int HTTP_BAD_GATEWAY	= 502;  public static final int HTTP_UNAVAILABLE	= 503;  public static final int HTTP_GATEWAY_TIMEOUT	= 504;  public static final int HTTP_VERSION		= 505;  static boolean followRedirects = true;  protected String method = "GET";  protected int responseCode = -1;  protected String responseMessage;  protected boolean instanceFollowRedirects = followRedirects;  private boolean gotResponseVals = false;  protected HttpURLConnection(URL url)  {    super(url);  }  public abstract void disconnect();  public abstract boolean usingProxy();  public static void setFollowRedirects(boolean set)  {    // Throw an exception if an extant security mgr precludes    // setting the factory.    SecurityManager s = System.getSecurityManager();    if (s != null)      s.checkSetFactory();    followRedirects = set;  }  public static boolean getFollowRedirects()  {    return followRedirects;  }  public void setRequestMethod(String method) throws ProtocolException  {    if (connected)      throw new ProtocolException("Already connected");    if (method.equals("GET") || method.equals("POST") ||	method.equals("HEAD") || method.equals("OPTIONS") ||	method.equals("PUT") || method.equals("DELETE") ||	method.equals("TRACE"))      this.method = method;    else      throw new ProtocolException("Invalid HTTP request method");  }  public String getRequestMethod()  {    return method;  }  public int getResponseCode() throws IOException  {    if (!gotResponseVals)      getResponseVals();    return responseCode;  }  public String getResponseMessage() throws IOException  {    if (!gotResponseVals)      getResponseVals();    return responseMessage;  }  private void getResponseVals() throws IOException  {    // getHeaderField() will connect for us, but do it here first in    // order to pick up IOExceptions.    if (!connected)      connect();          gotResponseVals = true;    // Response is the first header received from the connection.    String respField = getHeaderField(0);        if (respField == null || ! respField.startsWith("HTTP/"))      {	// Set to default values on failure.        responseCode = -1;	responseMessage = null;	return;      }    int firstSpc, nextSpc;    firstSpc = respField.indexOf(' ');    nextSpc = respField.indexOf(' ', firstSpc + 1);    responseMessage = respField.substring(nextSpc + 1);    String codeStr = respField.substring(firstSpc + 1, nextSpc);    try      {	responseCode = Integer.parseInt(codeStr);      }    catch (NumberFormatException e)      {	// Set to default values on failure.        responseCode = -1;	responseMessage = null;      }  }  // TODO12: public Permission getPermission() throws IOException  // {  // }  // TODO12: public InputStream getErrorStream()  // {  // }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?