クラスHttpURLConnection

java.lang.Object
java.net.URLConnection
java.net.HttpURLConnection
直系の既知のサブクラス:
HttpsURLConnection

public abstract class HttpURLConnection extends URLConnection
HTTP固有の機能をサポートするURLConnectionです。 詳細については、仕様を参照してください。

単一の要求を行う際には個々のHttpURLConnectionインスタンスが使用されますが、その背後のHTTPサーバーへのネットワーク接続は、ほかのインスタンスと透過的に共有される可能性があります。 要求後、HttpURLConnectionのInputStreamまたはOutputStream上でclose()メソッドを呼び出すと、そのインスタンスに関連付けられていたネットワーク・リソースが解放される可能性がありますが、共有されている持続接続への影響はまったくありません。 disconnect()メソッドを呼び出した場合、持続接続がその時点でアイドル状態になっていれば、使用していたソケットがクローズされる可能性があります。

HTTPプロトコル・ハンドラには、システム・プロパティからアクセスできるいくつかの設定があります。 これには、プロキシ設定さまざまな他の設定が含まれます。

導入されたバージョン:
1.1
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected int
    出力時にチャンク・エンコーディング・ストリーミング・モードを使用する場合のチャンク長。
    protected int
    固定長ストリーミング・モードを使用する場合の固定コンテンツ長。
    protected long
    固定長ストリーミング・モードを使用する場合の固定コンテンツ長。
    static final int
    HTTP Status-Code 202: 受け入れられました。
    static final int
    HTTP Status-Code 502: 不正なゲートウェイ。
    static final int
    HTTP Status-Code 405: メソッドが許可されていません。
    static final int
    HTTP Status-Code 400: 不正な要求。
    static final int
    HTTP Status-Code 408: 要求がタイム・アウトしました。
    static final int
    HTTP Status-Code 409: 衝突しています。
    static final int
    HTTP Status-Code 201: 作成されました。
    static final int
    HTTP Status-Code 413: 要求のエンティティが大きすぎます。
    static final int
    HTTP Status-Code 403: 禁止されています。
    static final int
    HTTP Status-Code 504: ゲートウェイがタイム・アウトしました。
    static final int
    HTTP Status-Code 410: 存在しません。
    static final int
    HTTP Status-Code 500: 内部サーバー・エラー。
    static final int
    HTTP Status-Code 411: 長さが必要です。
    static final int
    HTTP Status-Code 301: 永続的に移動されました。
    static final int
    HTTP Status-Code 302: 一時的なリダイレクト。
    static final int
    HTTP Status-Code 300: 複数の選択肢があります。
    static final int
    HTTP Status-Code 204: コンテンツがありません。
    static final int
    HTTP Status-Code 406: 受け入れられません。
    static final int
    HTTP Status-Code 203: 信頼できない情報です。
    static final int
    HTTP Status-Code 404: 見つかりません。
    static final int
    HTTP Status-Code 501: 実装されていません。
    static final int
    HTTP Status-Code 304: 変更されていません。
    static final int
    HTTP Status-Code 200: OKです。
    static final int
    HTTP Status-Code 206: 部分的なコンテンツ。
    static final int
    HTTP Status-Code 402: 支払いの必要があります。
    static final int
    HTTP Status-Code 412: 前提条件が満たされていません。
    static final int
    HTTP Status-Code 407: プロキシ認証が必要です。
    static final int
    HTTP Status-Code 414: 要求のURIが大きすぎます。
    static final int
    HTTP Status-Code 205: コンテンツをリセットします。
    static final int
    HTTP Status-Code 303: ほかを参照してください。
    static final int
    非推奨。
    誤植され、存在すべきではなかった。
    static final int
    HTTP Status-Code 401: 承認されていません。
    static final int
    HTTP Status-Code 503: サービスが使用不可能です。
    static final int
    HTTP Status-Code 415: サポートされていないメディア・タイプです。
    static final int
    HTTP Status-Code 305: プロキシを使用します。
    static final int
    HTTP Status-Code 505: サポートされていないHTTPバージョンです。
    protected boolean
    trueの場合、プロトコルは自動的にリダイレクトに従います。
    protected String
    HTTPメソッド(GET、POST、PUTなど)です。
    protected int
    3桁のHTTPステータス・コードを表すintです。
    protected String
    HTTP応答メッセージです。

    クラスで宣言されたフィールド URLConnection

    allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches
    修飾子と型
    フィールド
    説明
    protected boolean
    trueの場合、このURLは、ユーザーとの対話(認証ダイアログのポップアップなど)を許可することが意味をなすコンテキストで検査されています。
    protected boolean
    falseの場合、この接続オブジェクトは、指定されたURLへの通信リンクを作成していません。
    protected boolean
    この変数は、setDoInputメソッドによって設定されています。
    protected boolean
    この変数は、setDoOutputメソッドによって設定されています。
    protected long
    一部のプロトコルでは、特定の時間よりもあとにオブジェクトが更新されていない場合に、オブジェクトのフェッチを省略することができます。
    protected URL
    URLは、World Wide Web上にあるリモート・オブジェクトを表します。このリモート・オブジェクトに対して、接続を開きます。
    protected boolean
    trueの場合、このプロトコルは、可能な場合はいつでもキャッシュを使用することが許可されています。
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    HttpURLConnectionのコンストラクタです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    abstract void
    サーバーへの要求が近い将来発生しそうにないことを示します。
    接続が失敗したが、それにもかかわらずサーバーから有用なデータを送信されてきた場合に、エラー・ストリームを返します。
    static boolean
    HTTPリダイレクト(3xx)に自動的に従うかどうかを示すbooleanを返します。
    n番目のヘッダー・フィールドの値を返します。
    n番目のヘッダー・フィールドのキーを返します。
    boolean
    このHttpURLConnectioninstanceFollowRedirectsフィールドの値を返します。
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    セキュリティ・マネージャがサポートされなくなったため、リソースへのアクセスの制御に権限を使用できなくなります。
    要求メソッドを取得します。
    int
    HTTP応答メッセージからステータス・コードを取得します。
    サーバーから応答コードとともにHTTP応答メッセージが返された場合、そのメッセージを取得します。
    void
    このHttpURLConnectionのHTTPプロトコルで認証がリクエストされたときに使用するAuthenticatorを供給します。
    void
    このメソッドを使用すれば、コンテンツ長があらかじめわかっていない場合に、内部バッファを使用しないHTTP要求本体のストリーミングを有効にできます。
    void
    setFixedLengthStreamingMode(int contentLength)
    このメソッドを使用すれば、コンテンツ長があらかじめわかっている場合に、内部バッファを使用しないHTTP要求本体のストリーミングを有効にすることができます。
    void
    setFixedLengthStreamingMode(long contentLength)
    このメソッドを使用すれば、コンテンツ長があらかじめわかっている場合に、内部バッファを使用しないHTTP要求本体のストリーミングを有効にすることができます。
    static void
    setFollowRedirects(boolean set)
    HTTPリダイレクト(応答コード3xxの要求)に、このクラスが自動的に従うべきかどうかを設定します。
    void
    setInstanceFollowRedirects(boolean followRedirects)
    HTTPリダイレクト(応答コード3xxの要求)を、このHttpURLConnectionインスタンスで自動的に従うかどうかを設定します。
    void
    URL要求のメソッドを次のどれかに設定します。GET POST HEAD OPTIONS PUT DELETE TRACEのうち、どれが有効であるかはプロトコルの制限によって決まります。
    abstract boolean
    接続でプロキシを使用するかどうかを表します。

    クラスで宣言されたメソッド URLConnection

    addRequestProperty, connect, getAllowUserInteraction, getConnectTimeout, getContent, getContent, getContentEncoding, getContentLength, getContentLengthLong, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderField, getHeaderFieldDate, getHeaderFieldInt, getHeaderFieldLong, getHeaderFields, getIfModifiedSince, getInputStream, getLastModified, getOutputStream, getReadTimeout, getRequestProperties, getRequestProperty, getURL, getUseCaches, guessContentTypeFromName, guessContentTypeFromStream, setAllowUserInteraction, setConnectTimeout, setContentHandlerFactory, setDefaultAllowUserInteraction, setDefaultRequestProperty, setDefaultUseCaches, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setReadTimeout, setRequestProperty, setUseCaches, toString
    修飾子と型
    メソッド
    説明
    void
    キーと値のペアで指定された一般要求プロパティを追加します。
    abstract void
    このURLが参照するリソースへの通信リンクを確立します(通信リンクが確立されていない場合)。
    boolean
    このオブジェクトのallowUserInteractionフィールドの値を返します。
    int
    接続タイム・アウトの設定を返します。
    このURL接続のコンテンツを取得します。
    getContent(Class<?>[] classes)
    このURL接続のコンテンツを取得します。
    content-encodingヘッダー・フィールドの値を返します。
    int
    content-lengthヘッダー・フィールドの値を返します。
    long
    content-lengthヘッダー・フィールドの値をlong型として返します。
    content-typeヘッダー・フィールドの値を返します。
    long
    dateヘッダー・フィールドの値を返します。
    static boolean
    allowUserInteractionフィールドのデフォルト値を返します。
    static String
    非推奨。
    URLConnectionの適切なインスタンスを取得した後は、インスタンス固有のgetRequestPropertyメソッドを使用する必要があります。
    boolean
    URLConnectionuseCachesフラグのデフォルト値を返します。
    static boolean
    指定されたプロトコルのuseCachesフラグのデフォルト値を返します。
    boolean
    このURLConnectiondoInputフラグの値を返します。
    boolean
    このURLConnectiondoOutputフラグの値を返します。
    long
    expiresヘッダー・フィールドの値を返します。
    データ・ファイルからファイル名マップ(mimetable)をロードします。
    指定されたヘッダー・フィールドの値を返します。
    long
    getHeaderFieldDate(String name, long defaultValue)
    指定されたフィールドを日付として構文解析した値を返します。
    int
    getHeaderFieldInt(String name, int defaultValue)
    指定されたフィールドを数値として構文解析した値を返します。
    long
    getHeaderFieldLong(String name, long defaultValue)
    指定されたフィールドを数値として構文解析した値を返します。
    ヘッダー・フィールドの変更不可能なマップを返します。
    long
    このオブジェクトのifModifiedSinceフィールドの値を返します。
    この接続からの入力を受け取る入力ストリームを返します。
    long
    last-modifiedヘッダー・フィールドの値を返します。
    この接続に書込みを行う出力ストリームを返します。
    int
    読取りタイム・アウトの設定を返します。このオプションが無効(タイム・アウトが無限)の場合は0を返します。
    この接続の一般要求プロパティの変更不可能なマップを返します。
    この接続の指定された一般要求プロパティの値を返します。
    このURLConnectionURLフィールドの値を返します。
    boolean
    このURLConnectionuseCachesフィールドの値を返します。
    static String
    URLの指定された「ファイル」コンポーネントを基に、オブジェクトのコンテンツ型を推測します。
    static String
    入力ストリームの先頭の文字を基に、入力ストリームの種類の決定を試みます。
    void
    setAllowUserInteraction(boolean allowuserinteraction)
    このURLConnectionallowUserInteractionフィールドの値を設定します。
    void
    setConnectTimeout(int timeout)
    このURLConnectionが参照するリソースへの通信リンクのオープン時に、指定されたミリ秒単位のタイム・アウト値が使用されるように設定します。
    static void
    アプリケーションのContentHandlerFactoryを設定します。
    static void
    setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
    将来に作成されるすべてのURLConnectionオブジェクトのallowUserInteractionフィールドについて、デフォルト値を指定された値に設定します。
    static void
    非推奨。
    URLConnectionの適切なインスタンスを取得した後は、インスタンス固有のsetRequestPropertyメソッドを使用する必要があります。
    void
    setDefaultUseCaches(boolean defaultusecaches)
    useCachesフィールドのデフォルト値を、指定された値に設定します。
    static void
    setDefaultUseCaches(String protocol, boolean defaultVal)
    指定されたプロトコルのuseCachesフィールドのデフォルト値を、指定された値に設定します。
    void
    setDoInput(boolean doinput)
    このURLConnectiondoInputフィールドの値を指定された値に設定します。
    void
    setDoOutput(boolean dooutput)
    このURLConnectiondoOutputフィールドの値を指定された値に設定します。
    static void
    FileNameMapを設定します。
    void
    setIfModifiedSince(long ifmodifiedsince)
    このURLConnectionifModifiedSinceフィールドの値を指定された値に設定します。
    void
    setReadTimeout(int timeout)
    読取りタイム・アウトを、指定されたミリ秒単位のタイム・アウトに設定します。
    void
    一般要求プロパティを設定します。
    void
    setUseCaches(boolean usecaches)
    このURLConnectionuseCachesフィールドの値を指定された値に設定します。
    このURL接続のString表現を返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • フィールド詳細

    • method

      protected String method
      HTTPメソッド(GET、POST、PUTなど)です。
    • chunkLength

      protected int chunkLength
      出力時にチャンク・エンコーディング・ストリーミング・モードを使用する場合のチャンク長。 -1は、出力時のチャンク・エンコーディングが無効であることを意味します。
      導入されたバージョン:
      1.5
    • fixedContentLength

      protected int fixedContentLength
      固定長ストリーミング・モードを使用する場合の固定コンテンツ長。 -1は、出力時の固定長ストリーミング・モードが無効であることを意味します。

      ノート: コンテンツの長さをより長く設定できるため、このフィールドの代わりにfixedContentLengthLongが推奨されています。

      導入されたバージョン:
      1.5
    • fixedContentLengthLong

      protected long fixedContentLengthLong
      固定長ストリーミング・モードを使用する場合の固定コンテンツ長。 -1は、出力時の固定長ストリーミング・モードが無効であることを意味します。
      導入されたバージョン:
      1.7
    • responseCode

      protected int responseCode
      3桁のHTTPステータス・コードを表すintです。
      • 1xx: 情報
      • 2xx: 成功
      • 3xx: リダイレクション
      • 4xx: クライアント・エラー
      • 5xx: サーバー・エラー
    • responseMessage

      protected String responseMessage
      HTTP応答メッセージです。
    • instanceFollowRedirects

      protected boolean instanceFollowRedirects
      trueの場合、プロトコルは自動的にリダイレクトに従います。 falseの場合、プロトコルは自動的にはリダイレクトに従いません。

      このフィールドは、setInstanceFollowRedirectsメソッドによって設定されます。 その値は、getInstanceFollowRedirectsメソッドによって返されます。

      HttpURLConnection作成時、デフォルト値はstatic followRedirectsの値に基づきます。

      関連項目:
    • HTTP_OK

      public static final int HTTP_OK
      HTTP Status-Code 200: OKです。
      関連項目:
    • HTTP_CREATED

      public static final int HTTP_CREATED
      HTTP Status-Code 201: 作成されました。
      関連項目:
    • HTTP_ACCEPTED

      public static final int HTTP_ACCEPTED
      HTTP Status-Code 202: 受け入れられました。
      関連項目:
    • HTTP_NOT_AUTHORITATIVE

      public static final int HTTP_NOT_AUTHORITATIVE
      HTTP Status-Code 203: 信頼できない情報です。
      関連項目:
    • HTTP_NO_CONTENT

      public static final int HTTP_NO_CONTENT
      HTTP Status-Code 204: コンテンツがありません。
      関連項目:
    • HTTP_RESET

      public static final int HTTP_RESET
      HTTP Status-Code 205: コンテンツをリセットします。
      関連項目:
    • HTTP_PARTIAL

      public static final int HTTP_PARTIAL
      HTTP Status-Code 206: 部分的なコンテンツ。
      関連項目:
    • HTTP_MULT_CHOICE

      public static final int HTTP_MULT_CHOICE
      HTTP Status-Code 300: 複数の選択肢があります。
      関連項目:
    • HTTP_MOVED_PERM

      public static final int HTTP_MOVED_PERM
      HTTP Status-Code 301: 永続的に移動されました。
      関連項目:
    • HTTP_MOVED_TEMP

      public static final int HTTP_MOVED_TEMP
      HTTP Status-Code 302: 一時的なリダイレクト。
      関連項目:
    • HTTP_SEE_OTHER

      public static final int HTTP_SEE_OTHER
      HTTP Status-Code 303: ほかを参照してください。
      関連項目:
    • HTTP_NOT_MODIFIED

      public static final int HTTP_NOT_MODIFIED
      HTTP Status-Code 304: 変更されていません。
      関連項目:
    • HTTP_USE_PROXY

      public static final int HTTP_USE_PROXY
      HTTP Status-Code 305: プロキシを使用します。
      関連項目:
    • HTTP_BAD_REQUEST

      public static final int HTTP_BAD_REQUEST
      HTTP Status-Code 400: 不正な要求。
      関連項目:
    • HTTP_UNAUTHORIZED

      public static final int HTTP_UNAUTHORIZED
      HTTP Status-Code 401: 承認されていません。
      関連項目:
    • HTTP_PAYMENT_REQUIRED

      public static final int HTTP_PAYMENT_REQUIRED
      HTTP Status-Code 402: 支払いの必要があります。
      関連項目:
    • HTTP_FORBIDDEN

      public static final int HTTP_FORBIDDEN
      HTTP Status-Code 403: 禁止されています。
      関連項目:
    • HTTP_NOT_FOUND

      public static final int HTTP_NOT_FOUND
      HTTP Status-Code 404: 見つかりません。
      関連項目:
    • HTTP_BAD_METHOD

      public static final int HTTP_BAD_METHOD
      HTTP Status-Code 405: メソッドが許可されていません。
      関連項目:
    • HTTP_NOT_ACCEPTABLE

      public static final int HTTP_NOT_ACCEPTABLE
      HTTP Status-Code 406: 受け入れられません。
      関連項目:
    • HTTP_PROXY_AUTH

      public static final int HTTP_PROXY_AUTH
      HTTP Status-Code 407: プロキシ認証が必要です。
      関連項目:
    • HTTP_CLIENT_TIMEOUT

      public static final int HTTP_CLIENT_TIMEOUT
      HTTP Status-Code 408: 要求がタイム・アウトしました。
      関連項目:
    • HTTP_CONFLICT

      public static final int HTTP_CONFLICT
      HTTP Status-Code 409: 衝突しています。
      関連項目:
    • HTTP_GONE

      public static final int HTTP_GONE
      HTTP Status-Code 410: 存在しません。
      関連項目:
    • HTTP_LENGTH_REQUIRED

      public static final int HTTP_LENGTH_REQUIRED
      HTTP Status-Code 411: 長さが必要です。
      関連項目:
    • HTTP_PRECON_FAILED

      public static final int HTTP_PRECON_FAILED
      HTTP Status-Code 412: 前提条件が満たされていません。
      関連項目:
    • HTTP_ENTITY_TOO_LARGE

      public static final int HTTP_ENTITY_TOO_LARGE
      HTTP Status-Code 413: 要求のエンティティが大きすぎます。
      関連項目:
    • HTTP_REQ_TOO_LONG

      public static final int HTTP_REQ_TOO_LONG
      HTTP Status-Code 414: 要求のURIが大きすぎます。
      関連項目:
    • HTTP_UNSUPPORTED_TYPE

      public static final int HTTP_UNSUPPORTED_TYPE
      HTTP Status-Code 415: サポートされていないメディア・タイプです。
      関連項目:
    • HTTP_SERVER_ERROR

      @Deprecated public static final int HTTP_SERVER_ERROR
      非推奨。
      誤植され、存在すべきではなかった。
      HTTP Status-Code 500: 内部サーバー・エラー。
      関連項目:
    • HTTP_INTERNAL_ERROR

      public static final int HTTP_INTERNAL_ERROR
      HTTP Status-Code 500: 内部サーバー・エラー。
      関連項目:
    • HTTP_NOT_IMPLEMENTED

      public static final int HTTP_NOT_IMPLEMENTED
      HTTP Status-Code 501: 実装されていません。
      関連項目:
    • HTTP_BAD_GATEWAY

      public static final int HTTP_BAD_GATEWAY
      HTTP Status-Code 502: 不正なゲートウェイ。
      関連項目:
    • HTTP_UNAVAILABLE

      public static final int HTTP_UNAVAILABLE
      HTTP Status-Code 503: サービスが使用不可能です。
      関連項目:
    • HTTP_GATEWAY_TIMEOUT

      public static final int HTTP_GATEWAY_TIMEOUT
      HTTP Status-Code 504: ゲートウェイがタイム・アウトしました。
      関連項目:
    • HTTP_VERSION

      public static final int HTTP_VERSION
      HTTP Status-Code 505: サポートされていないHTTPバージョンです。
      関連項目:
  • コンストラクタの詳細

    • HttpURLConnection

      protected HttpURLConnection(URL u)
      HttpURLConnectionのコンストラクタです。
      パラメータ:
      u - URL
  • メソッドの詳細

    • setAuthenticator

      public void setAuthenticator(Authenticator auth)
      このHttpURLConnectionのHTTPプロトコルで認証がリクエストされたときに使用するAuthenticatorを供給します。 オーセンティケータが指定されていない場合は、「デフォルト・オーセンティケータ」が使用されます。
      実装要件:
      このメソッドのデフォルトの動作は、無条件にUnsupportedOperationExceptionをスローすることです。 特定のHttpURLConnectionインスタンスにAuthenticatorを提供することをサポートするHttpURLConnectionの具体的な実装は、このメソッドをオーバーライドして別の動作を実装する必要があります。
      実装上のノート:
      認証スキームによっては、実装で、提供されたオーセンティケータを使用してパスワードを取得する必要がある場合とそうでない場合があります。 たとえば、サード・パーティのセキュリティ・ライブラリに依存する実装では、これらのライブラリがそのように構成されている場合でも、デフォルトのオーセンティケータを起動できます。 同様に、透過的なNTLM認証をサポートする実装では、指定されたオーセンティケータを起動する前に、システム・ユーザー資格証明を使用してシステムが接続を試行できます。
      ただし、オーセンティケータが具体的に指定されている場合、基礎となる接続は、同じAuthenticatorインスタンスを共有するHttpURLConnectionインスタンスに対してのみ再利用でき、認証情報(キャッシュされている場合)は、同じAuthenticatorを共有するHttpURLConnectionに対してのみ再利用できます。
      パラメータ:
      auth - このHttpURLConnectionによって使用されるべきAuthenticator
      スロー:
      UnsupportedOperationException - オーセンティケータの設定が基礎となる実装でサポートされていない場合。
      IllegalStateException - URLConnectionがすでに接続されている場合。
      NullPointerException - 提供されたauthnullの場合。
      導入されたバージョン:
      9
    • getHeaderFieldKey

      public String getHeaderFieldKey(int n)
      n番目のヘッダー・フィールドのキーを返します。 実装によっては、0番目のヘッダー・フィールドを特別なものとして、つまりHTTPサーバーから返されたステータス行として扱うことがあります。 この場合、getHeaderField(0)はそのステータス行を返しますが、getHeaderFieldKey(0)はnullを返します。
      オーバーライド:
      getHeaderFieldKey、クラスURLConnection
      パラメータ:
      n - インデックス。ここでn >=0です。
      戻り値:
      n番目のヘッダー・フィールドのキー。キーが存在しない場合はnull
    • setFixedLengthStreamingMode

      public void setFixedLengthStreamingMode(int contentLength)
      このメソッドを使用すれば、コンテンツ長があらかじめわかっている場合に、内部バッファを使用しないHTTP要求本体のストリーミングを有効にすることができます。

      アプリケーションが、指定されたコンテンツ長を超えるデータを書き込もうとしたり、指定された量の書込みを終える前にOutputStreamをクローズしたりすると、例外がスローされます。

      出力ストリーム処理を有効にした場合、認証とリダイレクションを自動的に処理することはできません。 認証またはリダイレクションが必要とされる場合には、応答の読取り時にHttpRetryExceptionがスローされます。 この例外を調べれば、エラーの詳細がわかります。

      このメソッドは、URLConnectionの接続前に呼び出してください。

      ノート: コンテンツの長さをより長く設定できるため、このメソッドの代わりにsetFixedLengthStreamingMode(long)が推奨されています。

      パラメータ:
      contentLength - OutputStreamに書き込まれるバイト数。
      スロー:
      IllegalStateException - URLConnectionがすでに接続されている場合、または別のストリーミング・モードがすでに有効になっている場合。
      IllegalArgumentException - 0より小さいコンテンツ長が指定された場合。
      導入されたバージョン:
      1.5
      関連項目:
    • setFixedLengthStreamingMode

      public void setFixedLengthStreamingMode(long contentLength)
      このメソッドを使用すれば、コンテンツ長があらかじめわかっている場合に、内部バッファを使用しないHTTP要求本体のストリーミングを有効にすることができます。

      アプリケーションが、指定されたコンテンツ長を超えるデータを書き込もうとしたり、指定された量の書込みを終える前にOutputStreamをクローズしたりすると、例外がスローされます。

      出力ストリーム処理を有効にした場合、認証とリダイレクションを自動的に処理することはできません。 認証またはリダイレクションが必要とされる場合には、応答の読取り時にHttpRetryExceptionがスローされます。 この例外を調べれば、エラーの詳細がわかります。

      このメソッドは、URLConnectionの接続前に呼び出してください。

      このメソッドを呼び出して設定されたコンテンツの長さは、setFixedLengthStreamingMode(int)によって設定されたどの値よりも優先されます。

      パラメータ:
      contentLength - OutputStreamに書き込まれるバイト数。
      スロー:
      IllegalStateException - URLConnectionがすでに接続されている場合、または別のストリーミング・モードがすでに有効になっている場合。
      IllegalArgumentException - 0より小さいコンテンツ長が指定された場合。
      導入されたバージョン:
      1.7
    • setChunkedStreamingMode

      public void setChunkedStreamingMode(int chunklen)
      このメソッドを使用すれば、コンテンツ長があらかじめわかっていない場合に、内部バッファを使用しないHTTP要求本体のストリーミングを有効にできます。 このモードでは、要求本体の送信時にチャンク転送エンコーディングが使用されます。 すべてのHTTPサーバーがこのモードをサポートしているわけではないので注意してください。

      出力ストリーム処理を有効にした場合、認証とリダイレクションを自動的に処理することはできません。 認証またはリダイレクションが必要とされる場合には、応答の読取り時にHttpRetryExceptionがスローされます。 この例外を調べれば、エラーの詳細がわかります。

      このメソッドは、URLConnectionの接続前に呼び出してください。

      パラメータ:
      chunklen - 各チャンクに書き込まれるバイト数。チャンク・サイズ・ヘッダーは16進文字列(最小1バイト)、2つのCRLFの(4バイト)、および最小ペイロード長は1バイトです。 chunklenが5以下の場合は、大きいデフォルト値が使用されます。
      スロー:
      IllegalStateException - URLConnectionがすでに接続されている場合、または別のストリーミング・モードがすでに有効になっている場合。
      導入されたバージョン:
      1.5
      関連項目:
    • getHeaderField

      public String getHeaderField(int n)
      n番目のヘッダー・フィールドの値を返します。 実装によっては、0番目のヘッダー・フィールドを特別なものとして、つまりHTTPサーバーから返されたステータス行として扱うことがあります。

      このメソッドとgetHeaderFieldKeyメソッドを組み合わせて使用すると、メッセージ内のすべてのヘッダーを反復できます。

      オーバーライド:
      getHeaderField、クラスURLConnection
      パラメータ:
      n - インデックス。ここでn>=0です。
      戻り値:
      n番目のヘッダー・フィールドの値。値が存在しない場合はnull
      関連項目:
    • setFollowRedirects

      public static void setFollowRedirects(boolean set)
      HTTPリダイレクト(応答コード3xxの要求)に、このクラスが自動的に従うべきかどうかを設定します。 デフォルトはtrueです。
      パラメータ:
      set - HTTPリダイレクトに従うかどうかを示すboolean
      関連項目:
    • getFollowRedirects

      public static boolean getFollowRedirects()
      HTTPリダイレクト(3xx)に自動的に従うかどうかを示すbooleanを返します。
      戻り値:
      HTTPリダイレクトに自動的に従うべきである場合はtrue、そうでない場合はfalse
      関連項目:
    • setInstanceFollowRedirects

      public void setInstanceFollowRedirects(boolean followRedirects)
      HTTPリダイレクト(応答コード3xxの要求)を、このHttpURLConnectionインスタンスで自動的に従うかどうかを設定します。

      デフォルトがtrueである、followRedirectsからのデフォルト値。

      パラメータ:
      followRedirects - HTTPリダイレクトに従うかどうかを示すboolean
      導入されたバージョン:
      1.3
      関連項目:
    • getInstanceFollowRedirects

      public boolean getInstanceFollowRedirects()
      このHttpURLConnectioninstanceFollowRedirectsフィールドの値を返します。
      戻り値:
      このHttpURLConnectioninstanceFollowRedirectsフィールドの値。
      導入されたバージョン:
      1.3
      関連項目:
    • setRequestMethod

      public void setRequestMethod(String method) throws ProtocolException
      URL要求のメソッドを次のどれかに設定します。
      • GET
      • POST
      • HEAD
      • OPTIONS
      • PUT
      • DELETE
      • TRACE
      これらのメソッドのうち、どれが有効であるかはプロトコルの制限によって決まります。 デフォルトのメソッドはGETです。
      パラメータ:
      method−HTTPメソッド
      スロー:
      ProtocolException−メソッドをリセットできない場合、または要求されたメソッドがHTTPで有効でない場合。
      関連項目:
    • getRequestMethod

      public String getRequestMethod()
      要求メソッドを取得します。
      戻り値:
      HTTP要求メソッド
      関連項目:
    • getResponseCode

      public int getResponseCode() throws IOException
      HTTP応答メッセージからステータス・コードを取得します。 たとえば、次のステータス行が返されたとします。
      HTTP/1.0 200 OK
      HTTP/1.0 401 Unauthorized
      
      これは、200と401をそれぞれ返します。 応答からコードを認識できない場合(つまり、その応答が有効なHTTPではない場合)、-1を返します。
      戻り値:
      HTTPステータス・コードまたは -1
      スロー:
      IOException - サーバーへの接続でエラーが発生した場合。
    • getResponseMessage

      public String getResponseMessage() throws IOException
      サーバーから応答コードとともにHTTP応答メッセージが返された場合、そのメッセージを取得します。 次のような応答があったとします。
      HTTP/1.0 200 OK
      HTTP/1.0 404 Not Found
      
      文字列「OK」と「Not Found」をそれぞれ抽出します。 応答から何も認識できなかった場合(結果が有効なHTTPではなかった場合)、nullを返します。
      戻り値:
      HTTP応答メッセージまたはnull
      スロー:
      IOException - サーバーへの接続でエラーが発生した場合。
    • disconnect

      public abstract void disconnect()
      サーバーへの要求が近い将来発生しそうにないことを示します。 disconnect()の呼出しが、このHttpURLConnectionインスタンスがほかの要求用として再利用可能であることを意味することのないようにしてください。
    • usingProxy

      public abstract boolean usingProxy()
      接続でプロキシを使用するかどうかを表します。 このメソッドは、接続が進行中であるかプロキシを経由したことがわかっている場合はtrueを返し、接続がプロキシを経由しない場合やプロキシの使用を判断できない場合はfalseを返します。
      戻り値:
      この接続がプロキシを使用するかどうかを示すboolean。
    • getPermission

      削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
      セキュリティ・マネージャがサポートされなくなったため、リソースへのアクセスの制御に権限を使用できなくなります。
      接続先のホストとポートに接続するために必要なアクセス権を表すSocketPermissionオブジェクトを返します。
      オーバーライド:
      getPermission、クラスURLConnection
      戻り値:
      接続先のホストとポートに接続するために必要なアクセス権を表すSocketPermissionオブジェクト。
      スロー:
      IOException - アクセス権の処理中にエラーが発生した場合。
    • getErrorStream

      public InputStream getErrorStream()
      接続が失敗したが、それにもかかわらずサーバーから有用なデータを送信されてきた場合に、エラー・ストリームを返します。 典型的な例としては、HTTPサーバーが404で応答し、それによって接続内でFileNotFoundExceptionがスローされたが、そのサーバーから対処策を含むHTMLヘルプ・ページが送信されてきた、といった場合です。

      このメソッドを呼び出しても、接続は開始されません。 接続が確立されなかった場合、接続中にサーバーでエラーが発生しなかった場合、またはサーバーでエラーが発生したがエラー・データは送信されなかった場合には、このメソッドはnullを返します。 これはデフォルトです。

      戻り値:
      エラー・ストリームが存在する場合はそのストリーム。エラーが発生しなかった場合、接続が確立されていない場合、またはサーバーが有用なデータを送信しなかった場合はnull。