モジュール java.base
パッケージ java.net

クラス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
外部仕様
関連項目: