クラスURLConnection
- 直系の既知のサブクラス:
HttpURLConnection,JarURLConnection
URLConnectionは、アプリケーションとURLとの間の通信リンクを表すすべてのクラスのスーパー・クラスです。 このクラスのインスタンスを使用して、URLで参照するリソースの読み込みと書込みの両方を行うことができます。
一般に、URLへの接続の作成は、次のような複数のステップが必要となります。
- 接続オブジェクトは、URL上で
openConnectionメソッドを呼び出すことによって作成されます。 - セットアップ・パラメータと一般要求プロパティを操作する。
- リモート・オブジェクトへの実際の接続は、
connectメソッドを使用して行われます。 - リモート・オブジェクトが使用可能になる。 リモート・オブジェクトのヘッダー・フィールドと内容にアクセスできるようになる。
セットアップ・パラメータを修正するには次のメソッドを使用します。
setAllowUserInteractionsetDoInputsetDoOutputsetIfModifiedSincesetUseCaches
一般要求プロパティを修正するには次のメソッドを使用します。
setRequestProperty
AllowUserInteractionパラメータとUseCachesパラメータのデフォルト値は、setDefaultAllowUserInteractionメソッドとsetDefaultUseCachesメソッドを使用して設定できます。
上記のsetメソッドには対応するgetメソッドがあり、それらのメソッドを使えば、パラメータまたは一般要求プロパティの値を取得できます。 具体的にどのパラメータや一般要求プロパティが適用可能であるかは、プロトコルごとに異なります。
リモート・オブジェクトへの接続を確立したあと、ヘッダー・フィールドと内容にアクセスするには次のメソッドを使用します。
getContentgetHeaderFieldgetInputStreamgetOutputStream
一部のヘッダー・フィールドは頻繁にアクセスされます。 関連するメソッドを次に示します。
getContentEncodinggetContentLengthgetContentTypegetDategetExpirationgetLastModified
上記を使えば、これらのフィールドに容易にアクセスできます。 getContentTypeメソッドは、リモート・オブジェクトの型を判別するときにgetContentメソッドによって使用されます。サブクラスでは、getContentTypeメソッドをオーバーライドすると便利なことがあります。
通常の場合、接続前のパラメータと一般要求プロパティはすべて、無視してかまいません。接続前のパラメータと要求プロパティは適切な値にデフォルト設定されます。 このインタフェースの大部分のクライアントで関心を持たれるメソッドは、2つしかありません。getInputStreamとgetContentです。これらは、URLクラスの簡易メソッドによってミラー化されます。
http接続の要求プロパティとヘッダー・フィールドの詳細は、次のサイトを参照してください。
要求後にhttp://www.ietf.org/rfc/rfc2616.txt
URLConnectionのInputStreamまたはOutputStream上でclose()メソッドを呼び出すと、特定のプロトコル仕様で他の動作が規定されていないかぎり、このインスタンスに関連付けられたネットワーク・リソースが解放されます。- 導入されたバージョン:
- 1.0
- 外部仕様
- 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明protected booleantrueの場合、このURLは、ユーザーとの対話(認証ダイアログのポップアップなど)を許可することが意味をなすコンテキストで検査されています。protected booleanfalseの場合、この接続オブジェクトは、指定されたURLへの通信リンクを作成していません。protected booleanこの変数は、setDoInputメソッドによって設定されています。protected booleanこの変数は、setDoOutputメソッドによって設定されています。protected long一部のプロトコルでは、特定の時間よりもあとにオブジェクトが更新されていない場合に、オブジェクトのフェッチを省略することができます。protected URLURLは、World Wide Web上にあるリモート・オブジェクトを表します。このリモート・オブジェクトに対して、接続を開きます。protected booleantrueの場合、このプロトコルは、可能な場合はいつでもキャッシュを使用することが許可されています。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明voidaddRequestProperty(String key, String value) キーと値のペアで指定された一般要求プロパティを追加します。abstract voidconnect()このURLが参照するリソースへの通信リンクを確立します(通信リンクが確立されていない場合)。booleanこのオブジェクトのallowUserInteractionフィールドの値を返します。int接続タイム・アウトの設定を返します。このURL接続のコンテンツを取得します。getContent(Class<?>[] classes) このURL接続のコンテンツを取得します。content-encodingヘッダー・フィールドの値を返します。intcontent-lengthヘッダー・フィールドの値を返します。longcontent-lengthヘッダー・フィールドの値をlong型として返します。content-typeヘッダー・フィールドの値を返します。longgetDate()dateヘッダー・フィールドの値を返します。static booleanallowUserInteractionフィールドのデフォルト値を返します。static String非推奨。URLConnectionの適切なインスタンスを取得した後は、インスタンス固有のgetRequestPropertyメソッドを使用する必要があります。booleanURLConnectionのuseCachesフラグのデフォルト値を返します。static booleangetDefaultUseCaches(String protocol) 指定されたプロトコルのuseCachesフラグのデフォルト値を返します。booleanこのURLConnectionのdoInputフラグの値を返します。booleanこのURLConnectionのdoOutputフラグの値を返します。longexpiresヘッダー・フィールドの値を返します。static FileNameMapデータ・ファイルからファイル名マップ(mimetable)をロードします。getHeaderField(int n) n番目のヘッダー・フィールドの値を返します。getHeaderField(String name) 指定されたヘッダー・フィールドの値を返します。longgetHeaderFieldDate(String name, long defaultValue) 指定されたフィールドを日付として構文解析した値を返します。intgetHeaderFieldInt(String name, int defaultValue) 指定されたフィールドを数値として構文解析した値を返します。getHeaderFieldKey(int n) n番目のヘッダー・フィールドのキーを返します。longgetHeaderFieldLong(String name, long defaultValue) 指定されたフィールドを数値として構文解析した値を返します。ヘッダー・フィールドの変更不可能なマップを返します。longこのオブジェクトのifModifiedSinceフィールドの値を返します。この接続からの入力を受け取る入力ストリームを返します。longlast-modifiedヘッダー・フィールドの値を返します。この接続に書込みを行う出力ストリームを返します。このオブジェクトが表す接続のために必要なアクセス権を表すPermissionオブジェクトを返します。int読取りタイム・アウトの設定を返します。このオプションが無効(タイム・アウトが無限)の場合は0を返します。この接続の一般要求プロパティの変更不可能なマップを返します。getRequestProperty(String key) この接続の指定された一般要求プロパティの値を返します。getURL()このURLConnectionのURLフィールドの値を返します。booleanこのURLConnectionのuseCachesフィールドの値を返します。static StringguessContentTypeFromName(String fname) URLの指定された「ファイル」コンポーネントを基に、オブジェクトのコンテンツ型を推測します。static String入力ストリームの先頭の文字を基に、入力ストリームの種類の決定を試みます。voidsetAllowUserInteraction(boolean allowuserinteraction) このURLConnectionのallowUserInteractionフィールドの値を設定します。voidsetConnectTimeout(int timeout) このURLConnectionが参照するリソースへの通信リンクのオープン時に、指定されたミリ秒単位のタイム・アウト値が使用されるように設定します。static voidアプリケーションのContentHandlerFactoryを設定します。static voidsetDefaultAllowUserInteraction(boolean defaultallowuserinteraction) 将来に作成されるすべてのURLConnectionオブジェクトのallowUserInteractionフィールドについて、デフォルト値を指定された値に設定します。static voidsetDefaultRequestProperty(String key, String value) 非推奨。URLConnectionの適切なインスタンスを取得した後は、インスタンス固有のsetRequestPropertyメソッドを使用する必要があります。voidsetDefaultUseCaches(boolean defaultusecaches) useCachesフィールドのデフォルト値を、指定された値に設定します。static voidsetDefaultUseCaches(String protocol, boolean defaultVal) 指定されたプロトコルのuseCachesフィールドのデフォルト値を、指定された値に設定します。voidsetDoInput(boolean doinput) このURLConnectionのdoInputフィールドの値を指定された値に設定します。voidsetDoOutput(boolean dooutput) このURLConnectionのdoOutputフィールドの値を指定された値に設定します。static voidFileNameMapを設定します。voidsetIfModifiedSince(long ifmodifiedsince) このURLConnectionのifModifiedSinceフィールドの値を指定された値に設定します。voidsetReadTimeout(int timeout) 読取りタイム・アウトを、指定されたミリ秒単位のタイム・アウトに設定します。voidsetRequestProperty(String key, String value) 一般要求プロパティを設定します。voidsetUseCaches(boolean usecaches) このURLConnectionのuseCachesフィールドの値を指定された値に設定します。toString()このURL接続のString表現を返します。
-
フィールド詳細
-
url
protected URL urlURLは、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 allowUserInteractiontrueの場合、このURLは、ユーザーとの対話(認証ダイアログのポップアップなど)を許可することが意味をなすコンテキストで検査されています。falseの場合、ユーザーとの対話処理は許可されていません。このフィールドの値に設定するには、
setAllowUserInteractionメソッドを使用します。 その値は、getAllowUserInteractionメソッドによって返されます。 そのデフォルト値は、setDefaultAllowUserInteractionメソッドを最後に呼び出した時の引数の値になります。- 関連項目:
-
useCaches
protected boolean useCachestrueの場合、このプロトコルは、可能な場合はいつでもキャッシュを使用することが許可されています。falseの場合、プロトコルは常に、オブジェクトの新規のコピーを取得する必要があります。このフィールドは、
setUseCachesメソッドによって設定されます。 その値は、getUseCachesメソッドによって返されます。このフィールドのデフォルト値は、
setDefaultUseCachesメソッドを最後に呼び出したときに指定した値です。デフォルトの設定は、プロトコルごとに
setDefaultUseCaches(String,boolean)で上書きすることができます。- 関連項目:
-
ifModifiedSince
protected long ifModifiedSince一部のプロトコルでは、特定の時間よりもあとにオブジェクトが更新されていない場合に、オブジェクトのフェッチを省略することができます。0以外の値は、1970年1月1日GMTから起算したミリ秒数を表します。 オブジェクトが取得されるのは、その時間よりも後にオブジェクトが変更された場合だけです。
この変数は、
setIfModifiedSinceメソッドによって設定されています。 その値は、getIfModifiedSinceメソッドによって返されます。このフィールドのデフォルト値は
0(常にオブジェクトをフェッチする)です。- 関連項目:
-
connected
protected boolean connectedfalseの場合、この接続オブジェクトは、指定された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
-
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
-
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メソッドを呼び出し、オブジェクトの情報の種類を判別します。 アプリケーションで特定のコンテンツ・タイプが初めて検出された場合は、そのコンテンツ・タイプのコンテンツ・ハンドラが作成されます。次のように行います。
- アプリケーションで
setContentHandlerFactoryメソッドを使用しContentHandlerファクトリのインスタンスがセット・アップされている場合は、そのインスタンスのcreateContentHandlerメソッドを呼び出し、内容の種類を引数として渡します。その結果、その内容の種類のContentHandlerが返されます。 ContentHandlerFactoryがまだ設定されていない場合、またはファクトリのcreateContentHandlerメソッドがnullを返す場合、ServiceLoaderメカニズムを使用して、システム・クラス・ローダーを使用してContentHandlerFactory実装を検索します。 ファクトリが配置される順序は実装固有であり、実装は、配置されたファクトリを自由にキャッシュできます。createContentHandlerからスローされたServiceConfigurationError、ErrorまたはRuntimeExceptionが検出されると、コール元のスレッドに伝播されます。 ファクトリがnull以外を返すか、すべてのファクトリが使い果たされるまで、各ファクトリのcreateContentHandlerメソッドがインスタンス化されると、コンテンツ・タイプとともに呼び出されます。- これに失敗すると、このメソッドは、
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を表すURLConnectionはjava.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
-
setDoInput
public void setDoInput(boolean doinput) このURLConnectionのdoInputフィールドの値を指定された値に設定します。URL接続は、入力または出力、あるいはその両方に対して使用できます。 入力用にURL接続を使用する場合はdoInputフラグをtrueに設定し、入力用にURL接続を使用しない場合はfalseに設定します。 デフォルトは、trueです。
- パラメータ:
doinput- 新しい値。- スロー:
IllegalStateException- すでに接続されている場合- 関連項目:
-
getDoInput
public boolean getDoInput()このURLConnectionのdoInputフラグの値を返します。- 戻り値:
- この
URLConnectionのdoInputフラグの値。 - 関連項目:
-
setDoOutput
public void setDoOutput(boolean dooutput) このURLConnectionのdoOutputフィールドの値を指定された値に設定します。URL接続は、入力または出力、あるいはその両方に対して使用できます。 出力にURL接続を使用する場合はdoOutputフラグをtrueに設定し、出力しない場合はfalseに設定します。 デフォルトは、falseです。
- パラメータ:
dooutput- 新しい値。- スロー:
IllegalStateException- すでに接続されている場合- 関連項目:
-
getDoOutput
public boolean getDoOutput()このURLConnectionのdoOutputフラグの値を返します。- 戻り値:
- この
URLConnectionのdoOutputフラグの値。 - 関連項目:
-
setAllowUserInteraction
public void setAllowUserInteraction(boolean allowuserinteraction) このURLConnectionのallowUserInteractionフィールドの値を設定します。- パラメータ:
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) このURLConnectionのuseCachesフィールドの値を指定された値に設定します。プロトコルによってはドキュメントのキャッシングを行う場合があります。 場合によってはキャッシュを無視して情報を転送する(ブラウザの「再読込」ボタンなど)ことが重要なこともあります。 接続のuseCachesフラグがtrueの場合、接続は、可能な場合はいつでもキャッシュを使用できます。 falseの場合、キャッシュは無視されます。 デフォルト値はdefaultUseCachesから得られます。デフォルトはtrueです。 デフォルト値は、
setDefaultUseCaches(String,boolean)を使用してプロトコルごとに設定することもできます。- パラメータ:
usecaches−キャッシュへの書込みが可能かどうかを示すboolean値。- スロー:
IllegalStateException- すでに接続されている場合- 関連項目:
-
getUseCaches
public boolean getUseCaches()このURLConnectionのuseCachesフィールドの値を返します。- 戻り値:
- この
URLConnectionのuseCachesフィールドの値。 - 関連項目:
-
setIfModifiedSince
public void setIfModifiedSince(long ifmodifiedsince) このURLConnectionのifModifiedSinceフィールドの値を指定された値に設定します。- パラメータ:
ifmodifiedsince- 新しい値。- スロー:
IllegalStateException- すでに接続されている場合- 関連項目:
-
getIfModifiedSince
public long getIfModifiedSince()このオブジェクトのifModifiedSinceフィールドの値を返します。- 戻り値:
- このオブジェクトの
ifModifiedSinceフィールドの値。 - 関連項目:
-
getDefaultUseCaches
public boolean getDefaultUseCaches()URLConnectionのuseCachesフラグのデフォルト値を返します。このデフォルトは、すべてのURLConnectionsの静的状態の一部である"sticky"です。 このフラグは、次回以降に作成されるすべてのURLConnectionに対して適用されます。 このデフォルト値は、プロトコルごとに
setDefaultUseCaches(String,boolean)を使用してオーバーライドすることができます- 戻り値:
URLConnectionのuseCachesフラグのデフォルト値。- 関連項目:
-
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
一般要求プロパティを設定します。 このキーを持つプロパティがすでに存在する場合は、その値を新しい値で上書きします。ノート: 複数のプロパティを1つのプロパティに付加できるようにする、カンマで区切られたリスト構文を使用するために、HTTPは、同じキーで複数のインスタンスを正当に持てる要求プロパティをすべて必要とします。
- パラメータ:
key- 要求を識別するキーワード(「Accept」など)。value- キーワードに関連した値。- スロー:
IllegalStateException- すでに接続されている場合NullPointerException- キーがnullの場合- 関連項目:
-
addRequestProperty
キーと値のペアで指定された一般要求プロパティを追加します。 このメソッドは、同じキーに関連付けられている既存の値を上書きしません。 マップに値を付加しても、指定されたサブクラスで使用されているプロトコルでサポートされていない場合、このメソッドはno-opである可能性があります。- パラメータ:
key- 要求を識別するキーワード(「Accept」など)。value- キーワードに関連した値。- スロー:
IllegalStateException- すでに接続されている場合NullPointerException- キーがnullの場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
getRequestProperty
この接続の指定された一般要求プロパティの値を返します。- パラメータ:
key- 要求を識別するキーワード(「Accept」など)。- 戻り値:
- この接続の指定された一般要求プロパティの値。 キーがnullの場合はnullが返される。
- スロー:
IllegalStateException- すでに接続されている場合- 関連項目:
-
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
-
guessContentTypeFromStream
public static String guessContentTypeFromStream(InputStream is) throws IOException 入力ストリームの先頭の文字を基に、入力ストリームの種類の決定を試みます。getContentTypeメソッドをオーバーライドするサブクラスが、このメソッドを使用できます。このルーチンが必要なくなるのが理想的です。 しかし、コンテンツ型として不正な値を返す
httpサーバーは数多くあります。さらに、標準的ではない拡張子もたくさんあります。 このため、httpサーバーが返すコンテンツ型をうのみにするよりも、データを基にコンテンツ型を直接推測した方が正確な場合がよくあります。- パラメータ:
is−markをサポートする入力ストリーム。- 戻り値:
- 推測したコンテンツ型。推測できない場合は
null。 - スロー:
IOException−入力ストリームの読取り中に入出力エラーが発生した場合。- 関連項目:
-