クラスURLConnection

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

public abstract class URLConnection extends Object
抽象クラスURLConnectionは、アプリケーションとURLとの間の通信リンクを表すすべてのクラスのスーパー・クラスです。 このクラスのインスタンスを使用して、URLで参照するリソースの読み込みと書込みの両方を行うことができます。

一般に、URLへの接続の作成は、次のような複数のステップが必要となります。

  1. 接続オブジェクトは、URL上でopenConnectionメソッドを呼び出すことによって作成されます。
  2. セットアップ・パラメータと一般要求プロパティを操作する。
  3. リモート・オブジェクトへの実際の接続は、connectメソッドを使用して行われます。
  4. リモート・オブジェクトが使用可能になる。 リモート・オブジェクトのヘッダー・フィールドと内容にアクセスできるようになる。

セットアップ・パラメータを修正するには次のメソッドを使用します。

  • setAllowUserInteraction
  • setDoInput
  • setDoOutput
  • setIfModifiedSince
  • setUseCaches

一般要求プロパティを修正するには次のメソッドを使用します。

  • setRequestProperty

AllowUserInteractionパラメータとUseCachesパラメータのデフォルト値は、setDefaultAllowUserInteractionメソッドとsetDefaultUseCachesメソッドを使用して設定できます。

上記のsetメソッドには対応するgetメソッドがあり、それらのメソッドを使えば、パラメータまたは一般要求プロパティの値を取得できます。 具体的にどのパラメータや一般要求プロパティが適用可能であるかは、プロトコルごとに異なります。

リモート・オブジェクトへの接続を確立したあと、ヘッダー・フィールドと内容にアクセスするには次のメソッドを使用します。

  • getContent
  • getHeaderField
  • getInputStream
  • getOutputStream

一部のヘッダー・フィールドは 繁にアクセスされます。 関連するメソッドを次に示します。

  • getContentEncoding
  • getContentLength
  • getContentType
  • getDate
  • getExpiration
  • getLastModified

上記を使えば、これらのフィールドに容易にアクセスできます。 getContentTypeメソッドは、リモート・オブジェクトの型を判別するときにgetContentメソッドによって使用されます。サブクラスでは、getContentTypeメソッドをオーバーライドすると便利なことがあります。

通常の 合、接続前のパラメータと一般要求プロパティはすべて、無視してかまいません。接続前のパラメータと要求プロパティは適切な値にデフォルト設定されます。 このインタフェースの大部分のクライアントで関心を持たれるメソッドは、2つしかありません。getInputStreamgetContentです。これらは、URLクラスの簡易メソッドによってミラー化されます。

http接続の要求プロパティとヘッダー・フィールドの詳細は、次のサイトを参照してく さい。

 http://www.ietf.org/rfc/rfc2616.txt
 
要求後にURLConnectionInputStreamまたはOutputStream上でclose()メソッドを呼び出すと、特定のプロトコル仕様で他の動作が規定されていないかぎり、このインスタンスに関連付けられたネットワーク・リソースが解放されます。

導入されたバージョン:
1.0
外部仕様
関連 目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    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
    指定されたURLへのURL接続を構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    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)をロードします。
    n番目のヘッダー・フィールドの値を返します。
    指定されたヘッダー・フィールドの値を返します。
    long
    getHeaderFieldDate(String name, long defaultValue)
    指定されたフィールドを日付として構文解析した値を返します。
    int
    getHeaderFieldInt(String name, int defaultValue)
    指定されたフィールドを数値として構文解析した値を返します。
    n番目のヘッダー・フィールドのキーを返します。
    long
    getHeaderFieldLong(String name, long defaultValue)
    指定されたフィールドを数値として構文解析した値を返します。
    ヘッダー・フィールドの変更不可能なマップを返します。
    long
    このオブジェクトのifModifiedSinceフィールドの値を返します。
    この接続からの入力を受け取る入力ストリー を返します。
    long
    last-modifiedヘッダー・フィールドの値を返します。
    この接続に書込みを行う出力ストリー を返します。
    このオブジェクトが表す接続のために必要なアクセス権を表すPermissionオブジェクトを返します。
    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表現を返します。

    クラスjava.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • フィールド詳細

    • url

      protected URL url
      URLは、World Wide Web上にあるリモート・オブジェクトを表します。このリモート・オブジェクトに対して、接続を開きます。

      このフィールドの値にアクセスするには、getURLメソッドを使用します。

      この変数のデフォルト値は、URLConnectionコンストラクタのURL引数の値です。

      関連 目:
    • doInput

      protected boolean doInput
      この変数は、setDoInputメソッドによって設定されています。 その値は、getDoInputメソッドによって返されます。

      URL接続は、入力または出力、あるいはその両方に対して使用できます。 doInputフラグをtrueに設定した 合、それは、アプリケーションがURL接続からデータを読み取る予定であることを示します。

      このフィールドのデフォルト値はtrueです。

      関連 目:
    • doOutput

      protected boolean doOutput
      この変数は、setDoOutputメソッドによって設定されています。 その値は、getDoOutputメソッドによって返されます。

      URL接続は、入力または出力、あるいはその両方に対して使用できます。 doOutputフラグをtrueに設定した 合、それは、アプリケーションがURL接続にデータを書き込む予定であることを示します。

      このフィールドのデフォルト値はfalseです。

      関連 目:
    • 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
      一部のプロトコルでは、特定の時間よりもあとにオブジェクトが更新されていない 合に、オブジェクトのフェッチを省略することができます。

      0以外の値は、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()
      データ・ファイルからファイル名マップ(mimetable)をロードします。 これはまず、「content.types.user.table」プロパティで定義されたユーザー指定表をロードしようとします。 それが失敗した 合、これはデフォルトの組込み表をロードしようとします。
      戻り値:
      FileNameMap
      導入されたバージョン:
      1.2
      関連 目:
    • setFileNameMap

      public static void setFileNameMap(FileNameMap map)
      FileNameMapを設定します。
      パラメータ:
      map−設定するFileNameMap
      導入されたバージョン:
      1.2
      関連 目:
    • connect

      public abstract void connect() throws IOException
      このURLが参照するリソースへの通信リンクを確立します(通信リンクが確立されていない 合)。

      connectメソッドを呼び出したときに、接続がすでに確立されていれば(connectedフィールドの値がtrueであれば)、メソッド呼出しは無視されます。

      URLConnectionオブジェクトは2つの段階を経験します。それらはまず作成され、次に接続されます。 作成されてから接続されるまでの間は、doInputやuseCachesなど、さまざまなオプションを指定できます。 接続後にそれらを設定しようとすると、エラーが発生します。 getContentLengthなどの、接続されていることに依存する操作は、必要に応じて暗黙的に接続を実行します。

      スロー:
      SocketTimeoutException−接続が確立される前にタイ ・アウトが過ぎた 合
      IOException - 接続のオープン中に入出力エラーが発生した 合。
      関連 目:
    • setConnectTimeout

      public void setConnectTimeout(int timeout)
      このURLConnectionが参照するリソースへの通信リンクのオープン時に、指定されたミリ秒単位のタイ ・アウト値が使用されるように設定します。 接続が確立される前にタイ ・アウトが過ぎた 合は、java.net.SocketTimeoutExceptionが発行されます。 タイ ・アウト0は無限のタイ ・アウトとして解釈されます。

      このメソッドの非標準実装のなかには、指定されたタイ アウトを無視するものもあります。 設定されている接続タイ ・アウトを確認するには、getConnectTimeout()を呼び出してく さい。

      パラメータ:
      timeout−ミリ秒単位の接続タイ ・アウト値を表すint
      スロー:
      IllegalArgumentException - timeoutパラメータが の 合
      導入されたバージョン:
      1.5
      関連 目:
    • getConnectTimeout

      public int getConnectTimeout()
      接続タイ ・アウトの設定を返します。

      このオプションが無効(タイ ・アウトが無限)の 合は0を返します。

      戻り値:
      ミリ秒単位の接続タイ ・アウト値を示すint
      導入されたバージョン:
      1.5
      関連 目:
    • setReadTimeout

      public void setReadTimeout(int timeout)
      読取りタイ ・アウトを、指定されたミリ秒単位のタイ ・アウトに設定します。 0以外の値は、リソースへの接続が確立されている 合の、入力ストリー からの読取りタイ ・アウトを指定します。 データが読取り可能になる前にタイ ・アウトが過ぎた 合は、java.net.SocketTimeoutExceptionが発行されます。 タイ ・アウト0は無限のタイ ・アウトとして解釈されます。

      このメソッドの非標準実装のなかには、指定されたタイ ・アウトを無視するものもあります。 設定されている読取りタイ ・アウトを確認するには、getReadTimeout()を呼び出してく さい。

      パラメータ:
      timeout−使用すべきミリ秒単位のタイ ・アウト値を指定するint
      スロー:
      IllegalArgumentException - timeoutパラメータが の 合
      導入されたバージョン:
      1.5
      関連 目:
    • getReadTimeout

      public int getReadTimeout()
      読取りタイ ・アウトの設定を返します。このオプションが無効(タイ ・アウトが無限)の 合は0を返します。
      戻り値:
      ミリ秒単位の読取りタイ ・アウト値を示すint
      導入されたバージョン:
      1.5
      関連 目:
    • getURL

      public URL getURL()
      このURLConnectionURLフィールドの値を返します。
      戻り値:
      このURLConnectionURLフィールドの値。
      関連 目:
    • getContentLength

      public int getContentLength()
      content-lengthヘッダー・フィールドの値を返します。

      ノート: このメソッドよりgetContentLengthLong()を優先してく さい。これはlongを返すのでより移植性が高いからです。

      戻り値:
      この接続のURLによって参照されているリソースのコンテンツの長さ。コンテンツの長さが不明の 合や、コンテンツの長さがInteger.MAX_VALUEより長い 合は-1
    • getContentLengthLong

      public long getContentLengthLong()
      content-lengthヘッダー・フィールドの値をlong型として返します。
      戻り値:
      この接続のURLによって参照されているリソースのコンテンツの長さ。コンテンツの長さが不明の 合は-1
      導入されたバージョン:
      1.7
    • getContentType

      public String getContentType()
      content-typeヘッダー・フィールドの値を返します。
      戻り値:
      URLによって参照されているリソースのコンテンツの種類。不明の 合はnull
      関連 目:
    • getContentEncoding

      public String getContentEncoding()
      content-encodingヘッダー・フィールドの値を返します。
      戻り値:
      URLによって参照されているリソースのコンテンツのエンコーディング。不明の 合はnull
      関連 目:
    • getExpiration

      public long getExpiration()
      expiresヘッダー・フィールドの値を返します。
      戻り値:
      このURLが参照するリソースの有効期限日。不明の 合は0。 この値は、1970年1月1日GMTからのミリ秒数。
      関連 目:
    • getDate

      public long getDate()
      dateヘッダー・フィールドの値を返します。
      戻り値:
      URLが参照するリソースの送信日。不明の 合は0 返される値は、1970年1月1日GMTからのミリ秒数。
      関連 目:
    • getLastModified

      public long getLastModified()
      last-modifiedヘッダー・フィールドの値を返します。 結果は、1970年1月1日GMTからのミリ秒数です。
      戻り値:
      このURLConnectionが参照するリソースが最後に変更された日付。不明の 合は0。
      関連 目:
    • getHeaderField

      public String getHeaderField(String name)
      指定されたヘッダー・フィールドの値を返します。

      同じヘッダーを別の値で複数回設定する可能性のある接続で呼び出される 合は、最後の値 けが返されます。

      パラメータ:
      name−ヘッダー・フィールドの名前。
      戻り値:
      指定されたヘッダー・フィールドの名前。指定された名前を持つフィールドがヘッダー内にない 合はnull
    • getHeaderFields

      public Map<String, List<String>> getHeaderFields()
      ヘッダー・フィールドの変更不可能なマップを返します。 マップのキーは、応答ヘッダーのフィールド名を表すStringです。 マップの各値は変更不可能なStringのリストであり、対応するフィールドの値を表します。 このメソッドは、URLConnectionのサブクラスによってオーバーライドされます。 これらのメソッドの実装において、特定のキーに対応する値が複数ある 合は、挿入 序を維持して追 した 序で返す必要があります。
      実装要件:
      このメソッドのデフォルト実装では、常に空のマップが返されます。
      戻り値:
      ヘッダー・フィールドのマップ
      導入されたバージョン:
      1.4
    • getHeaderFieldInt

      public int getHeaderFieldInt(String name, int defaultValue)
      指定されたフィールドを数値として構文解析した値を返します。

      この形式のgetHeaderFieldが存在しているのは、一部の接続タイプ(http-ngなど)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。

      パラメータ:
      name - ヘッダー・フィールドの名前。
      defaultValue - デフォルト値。
      戻り値:
      指定されたフィールドを整数として構文解析した値。 defaultValue値は、フィールドが 落しているか、正しくない 合に返されます。
    • getHeaderFieldLong

      public long getHeaderFieldLong(String name, long defaultValue)
      指定されたフィールドを数値として構文解析した値を返します。

      この形式のgetHeaderFieldが存在しているのは、一部の接続タイプ(http-ngなど)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。

      パラメータ:
      name - ヘッダー・フィールドの名前。
      defaultValue - デフォルト値。
      戻り値:
      指定されたフィールドをlong値として構文解析した値。 defaultValue値は、フィールドが 落しているか、正しくない 合に返されます。
      導入されたバージョン:
      1.7
    • getHeaderFieldDate

      public long getHeaderFieldDate(String name, long defaultValue)
      指定されたフィールドを日付として構文解析した値を返します。 結果は、指定されたフィールドが表す、1970年1月1日GMTからのミリ秒数です。

      この形式のgetHeaderFieldが存在しているのは、一部の接続タイプ(http-ngなど)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。

      パラメータ:
      name - ヘッダー・フィールドの名前。
      defaultValue - デフォルト値。
      戻り値:
      フィールドの値を日付として構文解析したもの。 defaultValue引数の値は、フィールドが 落しているか、正しくない 合に返されます。
    • getHeaderFieldKey

      public String getHeaderFieldKey(int n)
      n番目のヘッダー・フィールドのキーを返します。 一部の実装では、0thヘッダー・フィールドが特別として扱われる 合があります。その 合、getHeaderField(0)は値を返しますが、getHeaderFieldKey(0)nullを返します。 n > 0 の 合、n+1フィールドより少ない 合はnullを返します。
      パラメータ:
      n - インデックス。ここでn>=0です
      戻り値:
      nthヘッダー・フィールドのキー。n > 0の 合、n+1フィールドより少ない 合はnull
    • getHeaderField

      public String getHeaderField(int n)
      n番目のヘッダー・フィールドの値を返します。 フィールド数がn+1個よりも少ない 合はnullを返します。

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

      パラメータ:
      n - インデックス。ここでn>=0です
      戻り値:
      n番目のヘッダー・フィールドの値。フィールド数がn+1より少ない 合はnull
      関連 目:
    • getContent

      public Object getContent() throws IOException
      このURL接続のコンテンツを取得します。

      このメソッドでは最初にgetContentTypeメソッドを呼び出し、オブジェクトの情 の種類を判別します。 アプリケーションで特定のコンテンツ・タイプが初めて検出された 合は、そのコンテンツ・タイプのコンテンツ・ハンドラが作成されます。

      次のように行います。

      1. アプリケーションでsetContentHandlerFactoryメソッドを使用しContentHandlerファクトリのインスタンスがセット・アップされている 合は、そのインスタンスのcreateContentHandlerメソッドを呼び出し、内容の種類を引数として渡します。その結果、その内容の種類のContentHandlerが返されます。
      2. ContentHandlerFactoryがま 設定されていない 合、またはファクトリのcreateContentHandlerメソッドがnullを返す 合、ServiceLoaderメカニズ を使用して、システ ・クラス・ローダーを使用してContentHandlerFactory実装を検索します。 ファクトリが配置される 序は実装固有であり、実装は、配置されたファクトリを自由にキャッシュできます。 createContentHandlerからスローされたServiceConfigurationErrorErrorまたはRuntimeExceptionが検出されると、コール元のスレッドに伝播されます。 ファクトリがnull以外を返すか、すべてのファクトリが使い果たされるまで、各ファクトリの createContentHandlerメソッドがインスタンス化されると、コンテンツ・タイプとともに呼び出されます。
      3. これに失敗すると、このメソッドは、ContentHandlerで定義されているコンテンツ・ハンドラ・クラスをロードしようとします。 クラスが存在しないか、または ContentHandlerのサブクラスでない 合は、UnknownServiceExceptionがスローされます。

      戻り値:
      取得されたオブジェクト。 返されたオブジェクトの種類を判定するには、instanceof演算子を使用することをお薦めします。
      スロー:
      IOException - コンテンツの取得中に入出力エラーが発生した 合。
      UnknownServiceException - プロトコルがそのコンテンツ・タイプをサポートしていない 合。
      関連 目:
    • getContent

      public Object getContent(Class<?>[] classes) throws IOException
      このURL接続のコンテンツを取得します。
      パラメータ:
      classes−要求された型を示すClass配列
      戻り値:
      クラスの配列で指定された型が最初に一致した、取得したオブジェクト。要求された型がサポートされていない 合はnull。 返されたオブジェクトの種類を判定するには、instanceof演算子を使用することをお薦めします。
      スロー:
      IOException - コンテンツの取得中に入出力エラーが発生した 合。
      UnknownServiceException - プロトコルがそのコンテンツ・タイプをサポートしていない 合。
      導入されたバージョン:
      1.3
      関連 目:
    • getPermission

      public Permission getPermission() throws IOException
      このオブジェクトが表す接続のために必要なアクセス権を表すPermissionオブジェクトを返します。 接続時にアクセス権がまったく必要とされない 合、このメソッドはnullを返します。 デフォルトでは、このメソッドはjava.security.AllPermissionを返します。 サブクラスはこのメソッドをオーバーライドし、URLへの接続に必要なアクセス権を最もよく表すアクセス権を返します。 たとえば、file: URLを表すURLConnectionjava.io.FilePermissionオブジェクトを返します。

      返されるアクセス権は、接続の状態に依存する可能性があります。 たとえば、接続前のアクセス権は、接続後のアクセス権とは異なる可能性があります。 たとえば、foo.comというHTTPサーバーで、接続を別のホストbar.comにリダイレクトしているとします。 接続する前にconnectionによって返されるアクセス権は、foo.comへの接続に必要なアクセス権です。一方、接続の後で返されるアクセス権は、bar.comへのアクセス権になります。

      アクセス権の一般的な使用目的は2つあります。URLConnection経由で取得されたオブジェクトのキャッシュを保護することと、受信者が特定のURLについて知る権利をチェックすることです。 最初の 合、アクセス権はオブジェクトを取得したあとで取得されます。 たとえば、HTTP接続の 合、これは、データの最終的な取得元となったホストに接続するためのアクセス権を表します。 2番目の 合、アクセス権は接続のに取得およびテストされます。

      戻り値:
      このURLConnectionが表す接続のために必要なアクセス権を表すPermissionオブジェクト。
      スロー:
      IOException−アクセス権の処理のためにネットワークまたはファイルの入出力が必要で、その処理中に例外が発生した 合。
    • getInputStream

      public InputStream getInputStream() throws IOException
      この接続からの入力を受け取る入力ストリー を返します。 返された入力ストリー からの読取り時に、データが読取り可能になる前に読取りタイ ・アウトが過ぎた 合、SocketTimeoutExceptionがスローされます。
      APIのノート:
      このメソッドから返されるInputStreamは、InflaterInputStreamをラップできます。read(byte[], int, int)メソッドは、出力バッファの任意の要 を変更できます。
      戻り値:
      この接続からの入力を受け取る入力ストリー 。
      スロー:
      IOException−入力ストリー の作成中に入出力エラーが発生した 合。
      UnknownServiceException−プロトコルが入力をサポートしていない 合。
      関連 目:
    • getOutputStream

      public OutputStream getOutputStream() throws IOException
      この接続に書込みを行う出力ストリー を返します。
      戻り値:
      この接続に書込みを行う出力ストリー 。
      スロー:
      IOException−出力ストリー の作成中に入出力エラーが発生した 合。
      UnknownServiceException−プロトコルが出力をサポートしていない 合。
    • toString

      public String toString()
      このURL接続のString表現を返します。
      オーバーライド:
      toString、クラスObject
      戻り値:
      このURLConnectionを表す文字列表現。
    • setDoInput

      public void setDoInput(boolean doinput)
      このURLConnectiondoInputフィールドの値を指定された値に設定します。

      URL接続は、入力または出力、あるいはその両方に対して使用できます。 入力用にURL接続を使用する 合はdoInputフラグをtrueに設定し、入力用にURL接続を使用しない 合はfalseに設定します。 デフォルトは、trueです。

      パラメータ:
      doinput - 新しい値。
      スロー:
      IllegalStateException - すでに接続されている 合
      関連 目:
    • getDoInput

      public boolean getDoInput()
      このURLConnectiondoInputフラグの値を返します。
      戻り値:
      このURLConnectiondoInputフラグの値。
      関連 目:
    • setDoOutput

      public void setDoOutput(boolean dooutput)
      このURLConnectiondoOutputフィールドの値を指定された値に設定します。

      URL接続は、入力または出力、あるいはその両方に対して使用できます。 出力にURL接続を使用する 合はdoOutputフラグをtrueに設定し、出力しない 合はfalseに設定します。 デフォルトは、falseです。

      パラメータ:
      dooutput - 新しい値。
      スロー:
      IllegalStateException - すでに接続されている 合
      関連 目:
    • getDoOutput

      public boolean getDoOutput()
      このURLConnectiondoOutputフラグの値を返します。
      戻り値:
      このURLConnectiondoOutputフラグの値。
      関連 目:
    • setAllowUserInteraction

      public void setAllowUserInteraction(boolean allowuserinteraction)
      このURLConnectionallowUserInteractionフィールドの値を設定します。
      パラメータ:
      allowuserinteraction - 新しい値。
      スロー:
      IllegalStateException - すでに接続されている 合
      関連 目:
    • getAllowUserInteraction

      public boolean getAllowUserInteraction()
      このオブジェクトのallowUserInteractionフィールドの値を返します。
      戻り値:
      このオブジェクトのallowUserInteractionフィールドの値。
      関連 目:
    • setDefaultAllowUserInteraction

      public static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
      将来に作成されるすべてのURLConnectionオブジェクトのallowUserInteractionフィールドについて、デフォルト値を指定された値に設定します。
      パラメータ:
      defaultallowuserinteraction - 新しい値。
      関連 目:
    • getDefaultAllowUserInteraction

      public static boolean getDefaultAllowUserInteraction()
      allowUserInteractionフィールドのデフォルト値を返します。

      このデフォルトは、すべてのURLConnectionsの静的状態の一部である"sticky"です。 このフラグは、次回以降に作成されるすべてのURLConnectionに対して適用されます。

      戻り値:
      allowUserInteractionフィールドのデフォルト値。
      関連 目:
    • setUseCaches

      public void setUseCaches(boolean usecaches)
      このURLConnectionuseCachesフィールドの値を指定された値に設定します。

      プロトコルによってはドキュメントのキャッシングを行う 合があります。  合によってはキャッシュを無視して情 を転送する(ブラウザの「再読込」ボタンなど)ことが重要なこともあります。 接続のuseCachesフラグがtrueの 合、接続は、可能な 合はいつでもキャッシュを使用できます。 falseの 合、キャッシュは無視されます。 デフォルト値はdefaultUseCachesから得られます。デフォルトはtrueです。 デフォルト値は、setDefaultUseCaches(String,boolean)を使用してプロトコルごとに設定することもできます。

      パラメータ:
      usecaches−キャッシュへの書込みが可能かどうかを示すboolean値。
      スロー:
      IllegalStateException - すでに接続されている 合
      関連 目:
    • getUseCaches

      public boolean getUseCaches()
      このURLConnectionuseCachesフィールドの値を返します。
      戻り値:
      このURLConnectionuseCachesフィールドの値。
      関連 目:
    • setIfModifiedSince

      public void setIfModifiedSince(long ifmodifiedsince)
      このURLConnectionifModifiedSinceフィールドの値を指定された値に設定します。
      パラメータ:
      ifmodifiedsince - 新しい値。
      スロー:
      IllegalStateException - すでに接続されている 合
      関連 目:
    • getIfModifiedSince

      public long getIfModifiedSince()
      このオブジェクトのifModifiedSinceフィールドの値を返します。
      戻り値:
      このオブジェクトのifModifiedSinceフィールドの値。
      関連 目:
    • getDefaultUseCaches

      public boolean getDefaultUseCaches()
      URLConnectionuseCachesフラグのデフォルト値を返します。

      このデフォルトは、すべてのURLConnectionsの静的状態の一部である"sticky"です。 このフラグは、次回以降に作成されるすべてのURLConnectionに対して適用されます。 このデフォルト値は、プロトコルごとにsetDefaultUseCaches(String,boolean)を使用してオーバーライドすることができます

      戻り値:
      URLConnectionuseCachesフラグのデフォルト値。
      関連 目:
    • setDefaultUseCaches

      public void setDefaultUseCaches(boolean defaultusecaches)
      useCachesフィールドのデフォルト値を、指定された値に設定します。 このデフォルト値は、プロトコルごとにsetDefaultUseCaches(String,boolean)を使用してオーバーライドすることができます
      パラメータ:
      defaultusecaches - 新しい値。
      関連 目:
    • 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)
      一般要求プロパティを設定します。 このキーを持つプロパティがすでに存在する 合は、その値を新しい値で上書きします。

      ノート: 複数のプロパティを1つのプロパティに付 できるようにする、カンマで区切られたリスト構文を使用するために、HTTPは、同じキーで複数のインスタンスを正当に持てる要求プロパティをすべて必要とします。

      パラメータ:
      key - 要求を識別するキーワード(「Accept」など)。
      value - キーワードに関連した値。
      スロー:
      IllegalStateException - すでに接続されている 合
      NullPointerException - キーがnullの 合
      関連 目:
    • addRequestProperty

      public void addRequestProperty(String key, String value)
      キーと値のペアで指定された一般要求プロパティを追 します。 このメソッドは、同じキーに関連付けられている既存の値を上書きしません。 マップに値を付 しても、指定されたサブクラスで使用されているプロトコルでサポートされていない 合、このメソッドはno-opである可能性があります。
      パラメータ:
      key - 要求を識別するキーワード(「Accept」など)。
      value - キーワードに関連した値。
      スロー:
      IllegalStateException - すでに接続されている 合
      NullPointerException - キーがnullの 合
      導入されたバージョン:
      1.4
      関連 目:
    • getRequestProperty

      public String getRequestProperty(String key)
      この接続の指定された一般要求プロパティの値を返します。
      パラメータ:
      key - 要求を識別するキーワード(「Accept」など)。
      戻り値:
      この接続の指定された一般要求プロパティの値。 キーがnullの 合はnullが返される。
      スロー:
      IllegalStateException - すでに接続されている 合
      関連 目:
    • getRequestProperties

      public Map<String, List<String>> getRequestProperties()
      この接続の一般要求プロパティの変更不可能なマップを返します。 マップのキーは、要求ヘッダーのフィールド名を表すStringです。 マップの各値は変更不可能なStringのリストであり、対応するフィールドの値を表します。 特定のキーの複数の値がaddRequestProperty(String, String)メソッドによって追 された 合、これらの値は追 された 序で返されます。 このメソッドは、そのような値の挿入 序を保持する必要があります。 このメソッドのデフォルト実装では、特定のキーに複数の値が追 されたときに挿入 序が保持されます。 値は追 された 序で返されます。
      戻り値:
      この接続の一般要求プロパティのマップ。
      スロー:
      IllegalStateException - すでに接続されている 合
      導入されたバージョン:
      1.4
    • setDefaultRequestProperty

      @Deprecated public static void setDefaultRequestProperty(String key, String value)
      非推奨。
      URLConnectionの適切なインスタンスを取得した後は、インスタンス固有のsetRequestPropertyメソッドを使用する必要があります。 このメソッドを呼び出しても、何の効果もありません。
      一般要求プロパティのデフォルト値を設定します。 URLConnectionはその作成時に、これらのプロパティを使って初期化されます。
      パラメータ:
      key - 要求を識別するキーワード(「Accept」など)。
      value−キーに関連した値。
      関連 目:
    • getDefaultRequestProperty

      @Deprecated public static String getDefaultRequestProperty(String key)
      非推奨。
      URLConnectionの適切なインスタンスを取得した後は、インスタンス固有のgetRequestPropertyメソッドを使用する必要があります。
      デフォルト要求プロパティの値を返します。 デフォルトの要求プロパティはすべての接続に設定されています。
      パラメータ:
      key - 要求を識別するキーワード(「Accept」など)。
      戻り値:
      指定されたキーに対するデフォルト要求プロパティの値。
      関連 目:
    • setContentHandlerFactory

      public static void setContentHandlerFactory(ContentHandlerFactory fac)
      アプリケーションのContentHandlerFactoryを設定します。 アプリケーションでは最大で1回呼び出すことができます。

      コンテンツの種類を基にContentHandlerを構築する際にはContentHandlerFactoryが使用されます。

      パラメータ:
      fac - 目的のファクトリ。
      スロー:
      Error - ファクトリがすでに定義されている 合。
      関連 目:
    • guessContentTypeFromName

      public static String guessContentTypeFromName(String fname)
      URLの指定された「ファイル」コンポーネントを基に、オブジェクトのコンテンツ型を推測します。 これは、getContentTypeメソッドをオーバーライドするサブクラスが使用可能な簡易メソッドです。
      パラメータ:
      fname−ファイル名。
      戻り値:
      ファイル名を基に推測したオブジェクトのコンテンツ型。
      関連 目:
    • guessContentTypeFromStream

      public static String guessContentTypeFromStream(InputStream is) throws IOException
      入力ストリー の先 の文字を基に、入力ストリー の種類の決定を試みます。 getContentTypeメソッドをオーバーライドするサブクラスが、このメソッドを使用できます。

      このルーチンが必要なくなるのが理想的です。 しかし、コンテンツ型として不正な値を返すhttpサーバーは数多くあります。さらに、標準的ではない拡張子もたくさんあります。 このため、httpサーバーが返すコンテンツ型をうのみにするよりも、データを基にコンテンツ型を直接推測した方が正確な 合がよくあります。

      パラメータ:
      is−markをサポートする入力ストリー 。
      戻り値:
      推測したコンテンツ型。推測できない 合はnull
      スロー:
      IOException−入力ストリー の読取り中に入出力エラーが発生した 合。
      関連 目: