- 直系の既知のサブクラス:
HttpURLConnection
,JarURLConnection
public abstract class URLConnection extends Object
URLConnection
は、アプリケーションとURLとの間の通信リンクを表すすべてのクラスのスーパー・クラスです。 このクラスのインスタンスを使用して、URLで参照するリソースの読み込みと書込みの両方を行うことができます。
一般に、URLへの接続の作成は、次のような複数のステップが必要となります。
- 接続オブジェクトは、URL上で
openConnection
メソッドを呼び出すことによって作成されます。 - セットアップ・パラメータと一般要求プロパティを操作する。
- リモート・オブジェクトへの実際の接続は、
connect
メソッドを使用して行われます。 - リモート・オブジェクトが使用可能になる。 リモート・オブジェクトのヘッダー・フィールドと内容にアクセスできるようになる。
セットアップ・パラメータを修正するには次のメソッドを使用します。
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つしかありません。getInputStream
とgetContent
です。これらは、URL
クラスの簡易メソッドによってミラー化されます。
http
接続の要求プロパティとヘッダー・フィールドの詳細は、次のサイトを参照してください。
要求後にhttp://www.ietf.org/rfc/rfc2616.txt
URLConnection
のInputStream
またはOutputStream
上でclose()
メソッドを呼び出すと、特定のプロトコル仕様で他の動作が規定されていないかぎり、このインスタンスに関連付けられたネットワーク・リソースが解放されます。- 導入されたバージョン:
- 1.0
- 関連項目:
URL.openConnection()
,connect()
,getContent()
,getContentEncoding()
,getContentLength()
,getContentType()
,getDate()
,getExpiration()
,getHeaderField(int)
,getHeaderField(java.lang.String)
,getInputStream()
,getLastModified()
,getOutputStream()
,setAllowUserInteraction(boolean)
,setDefaultUseCaches(boolean)
,setDoInput(boolean)
,setDoOutput(boolean)
,setIfModifiedSince(long)
,setRequestProperty(java.lang.String, java.lang.String)
,setUseCaches(boolean)
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected boolean
allowUserInteraction
true
の場合、このURL
は、ユーザーとの対話(認証ダイアログのポップアップなど)を許可することが意味をなすコンテキストで検査されています。protected boolean
connected
false
の場合、この接続オブジェクトは、指定されたURLへの通信リンクを作成していません。protected boolean
doInput
この変数は、setDoInput
メソッドによって設定されています。protected boolean
doOutput
この変数は、setDoOutput
メソッドによって設定されています。protected long
ifModifiedSince
一部のプロトコルでは、特定の時間よりもあとにオブジェクトが更新されていない場合に、オブジェクトのフェッチを省略することができます。protected URL
url
URLは、World Wide Web上にあるリモート・オブジェクトを表します。このリモート・オブジェクトに対して、接続を開きます。protected boolean
useCaches
true
の場合、このプロトコルは、可能な場合はいつでもキャッシュを使用することが許可されています。 -
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
URLConnection(URL url)
指定されたURLへのURL接続を構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 void
addRequestProperty(String key, String value)
キーと値のペアで指定された一般要求プロパティを追加します。abstract void
connect()
このURLが参照するリソースへの通信リンクを確立します(通信リンクが確立されていない場合)。boolean
getAllowUserInteraction()
このオブジェクトのallowUserInteraction
フィールドの値を返します。int
getConnectTimeout()
接続タイム・アウトの設定を返します。Object
getContent()
このURL接続のコンテンツを取得します。Object
getContent(クラス<?>[] classes)
このURL接続のコンテンツを取得します。String
getContentEncoding()
content-encoding
ヘッダー・フィールドの値を返します。int
getContentLength()
content-length
ヘッダー・フィールドの値を返します。long
getContentLengthLong()
content-length
ヘッダー・フィールドの値をlong型として返します。String
getContentType()
content-type
ヘッダー・フィールドの値を返します。long
getDate()
date
ヘッダー・フィールドの値を返します。static boolean
getDefaultAllowUserInteraction()
allowUserInteraction
フィールドのデフォルト値を返します。static String
getDefaultRequestProperty(String key)
非推奨。URLConnectionの該当インスタンスを取得したあとは、インスタンス固有のgetRequestPropertyメソッドを使用します。boolean
getDefaultUseCaches()
URLConnection
のuseCaches
フラグのデフォルト値を返します。static boolean
getDefaultUseCaches(String protocol)
指定されたプロトコルのuseCaches
フラグのデフォルト値を返します。boolean
getDoInput()
このURLConnection
のdoInput
フラグの値を返します。boolean
getDoOutput()
このURLConnection
のdoOutput
フラグの値を返します。long
getExpiration()
expires
ヘッダー・フィールドの値を返します。static FileNameMap
getFileNameMap()
データ・ファイルからファイル名マップ(mimetable)をロードします。String
getHeaderField(int n)
n
番目のヘッダー・フィールドの値を返します。String
getHeaderField(String name)
指定されたヘッダー・フィールドの値を返します。long
getHeaderFieldDate(String name, long Default)
指定されたフィールドを日付として構文解析した値を返します。int
getHeaderFieldInt(String name, int Default)
指定されたフィールドを数値として構文解析した値を返します。String
getHeaderFieldKey(int n)
n
番目のヘッダー・フィールドのキーを返します。long
getHeaderFieldLong(String name, long Default)
指定されたフィールドを数値として構文解析した値を返します。Map<String,List<String>>
getHeaderFields()
ヘッダー・フィールドの変更不可能なマップを返します。long
getIfModifiedSince()
このオブジェクトのifModifiedSince
フィールドの値を返します。InputStream
getInputStream()
この接続からの入力を受け取る入力ストリームを返します。long
getLastModified()
last-modified
ヘッダー・フィールドの値を返します。OutputStream
getOutputStream()
この接続に書込みを行う出力ストリームを返します。Permission
getPermission()
このオブジェクトが表す接続のために必要なアクセス権を表すPermissionオブジェクトを返します。int
getReadTimeout()
読取りタイム・アウトの設定を返します。このオプションが無効(タイム・アウトが無限)の場合は0を返します。Map<String,List<String>>
getRequestProperties()
この接続の一般要求プロパティの変更不可能なマップを返します。String
getRequestProperty(String key)
この接続の指定された一般要求プロパティの値を返します。URL
getURL()
このURLConnection
のURL
フィールドの値を返します。boolean
getUseCaches()
このURLConnection
のuseCaches
フィールドの値を返します。static String
guessContentTypeFromName(String fname)
URLの指定された「ファイル」コンポーネントを基に、オブジェクトのコンテンツ型を推測します。static String
guessContentTypeFromStream(InputStream is)
入力ストリームの先頭の文字を基に、入力ストリームの種類の決定を試みます。void
setAllowUserInteraction(boolean allowuserinteraction)
このURLConnection
のallowUserInteraction
フィールドの値を設定します。void
setConnectTimeout(int timeout)
このURLConnectionが参照するリソースへの通信リンクのオープン時に、指定されたミリ秒単位のタイム・アウト値が使用されるように設定します。static void
setContentHandlerFactory(ContentHandlerFactory fac)
アプリケーションのContentHandlerFactory
を設定します。static void
setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
将来に作成されるすべてのURLConnection
オブジェクトのallowUserInteraction
フィールドについて、デフォルト値を指定された値に設定します。static void
setDefaultRequestProperty(String key, String value)
非推奨。URLConnectionの該当インスタンスを取得したあとは、インスタンス固有のsetRequestPropertyメソッドを使用します。void
setDefaultUseCaches(boolean defaultusecaches)
useCaches
フィールドのデフォルト値を、指定された値に設定します。static void
setDefaultUseCaches(String protocol, boolean defaultVal)
指定されたプロトコルのuseCaches
フィールドのデフォルト値を指定された値に設定します。void
setDoInput(boolean doinput)
このURLConnection
のdoInput
フィールドの値を指定された値に設定します。void
setDoOutput(boolean dooutput)
このURLConnection
のdoOutput
フィールドの値を指定された値に設定します。static void
setFileNameMap(FileNameMap map)
FileNameMapを設定します。void
setIfModifiedSince(long ifmodifiedsince)
このURLConnection
のifModifiedSince
フィールドの値を指定された値に設定します。void
setReadTimeout(int timeout)
読取りタイム・アウトを、指定されたミリ秒単位のタイム・アウトに設定します。void
setRequestProperty(String key, String value)
一般要求プロパティを設定します。void
setUseCaches(boolean usecaches)
このURLConnection
のuseCaches
フィールドの値を指定された値に設定します。String
toString()
このURL接続のString
表現を返します。
-
フィールド詳細
-
url
protected URL urlURLは、World Wide Web上にあるリモート・オブジェクトを表します。このリモート・オブジェクトに対して、接続を開きます。このフィールドの値にアクセスするには、
getURL
メソッドを使用します。この変数のデフォルト値は、
URLConnection
コンストラクタのURL引数の値です。 -
doInput
protected boolean doInputこの変数は、setDoInput
メソッドによって設定されています。 その値は、getDoInput
メソッドによって返されます。URL接続は、入力または出力、あるいはその両方に対して使用できます。
doInput
フラグをtrue
に設定した場合、それは、アプリケーションがURL接続からデータを読み取る予定であることを示します。このフィールドのデフォルト値は
true
です。- 関連項目:
getDoInput()
,setDoInput(boolean)
-
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(java.net.FileNameMap)
-
setFileNameMap
public static void setFileNameMap(FileNameMap map)FileNameMapを設定します。セキュリティ・マネージャが存在する場合、この操作が許可されるように、このメソッドは最初にセキュリティ・マネージャの
checkSetFactory
メソッドを呼び出します。 この結果、SecurityExceptionがスローされることがあります。- パラメータ:
map
−設定するFileNameMap- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのcheckSetFactory
メソッドでこの操作が許可されていない場合。- 導入されたバージョン:
- 1.2
- 関連項目:
SecurityManager.checkSetFactory()
,getFileNameMap()
-
connect
public abstract void connect() throws IOExceptionこのURLが参照するリソースへの通信リンクを確立します(通信リンクが確立されていない場合)。connect
メソッドを呼び出したときに、接続がすでに確立されていれば(connected
フィールドの値がtrue
であれば)、メソッド呼出しは無視されます。URLConnectionオブジェクトは2つの段階を経験します。それらはまず作成され、次に接続されます。 作成されてから接続されるまでの間は、doInputやuseCachesなど、さまざまなオプションを指定できます。 接続後にそれらを設定しようとすると、エラーが発生します。 getContentLengthなどの、接続されていることに依存する操作は、必要に応じて暗黙的に接続を実行します。
- 例外:
SocketTimeoutException
−接続が確立される前にタイム・アウトが過ぎた場合IOException
- 接続のオープン中に入出力エラーが発生した場合。- 関連項目:
connected
,getConnectTimeout()
,setConnectTimeout(int)
-
setConnectTimeout
public void setConnectTimeout(int timeout)このURLConnectionが参照するリソースへの通信リンクのオープン時に、指定されたミリ秒単位のタイム・アウト値が使用されるように設定します。 接続が確立される前にタイム・アウトが過ぎた場合は、java.net.SocketTimeoutExceptionが発行されます。 タイム・アウト0は無限のタイム・アウトとして解釈されます。このメソッドの非標準実装のなかには、指定されたタイムアウトを無視するものもあります。 設定されている接続タイム・アウトを確認するには、getConnectTimeout()を呼び出してください。
- パラメータ:
timeout
−ミリ秒単位の接続タイム・アウト値を表すint
- 例外:
IllegalArgumentException
- timeoutパラメータが負の場合- 導入されたバージョン:
- 1.5
- 関連項目:
getConnectTimeout()
,connect()
-
getConnectTimeout
public int getConnectTimeout()接続タイム・アウトの設定を返します。このオプションが無効(タイム・アウトが無限)の場合は0を返します。
- 戻り値:
- ミリ秒単位の接続タイム・アウト値を示す
int
- 導入されたバージョン:
- 1.5
- 関連項目:
setConnectTimeout(int)
,connect()
-
setReadTimeout
public void setReadTimeout(int timeout)読取りタイム・アウトを、指定されたミリ秒単位のタイム・アウトに設定します。 0以外の値は、リソースへの接続が確立されている場合の、入力ストリームからの読取りタイム・アウトを指定します。 データが読取り可能になる前にタイム・アウトが過ぎた場合は、java.net.SocketTimeoutExceptionが発行されます。 タイム・アウト0は無限のタイム・アウトとして解釈されます。このメソッドの非標準実装のなかには、指定されたタイム・アウトを無視するものもあります。 設定されている読取りタイム・アウトを確認するには、getReadTimeout()を呼び出してください。
- パラメータ:
timeout
−使用すべきミリ秒単位のタイム・アウト値を指定するint
- 例外:
IllegalArgumentException
- timeoutパラメータが負の場合- 導入されたバージョン:
- 1.5
- 関連項目:
getReadTimeout()
,InputStream.read()
-
getReadTimeout
public int getReadTimeout()読取りタイム・アウトの設定を返します。このオプションが無効(タイム・アウトが無限)の場合は0を返します。- 戻り値:
- ミリ秒単位の読取りタイム・アウト値を示す
int
- 導入されたバージョン:
- 1.5
- 関連項目:
setReadTimeout(int)
,InputStream.read()
-
getURL
public URL getURL()このURLConnection
のURL
フィールドの値を返します。- 戻り値:
- この
URLConnection
のURL
フィールドの値。 - 関連項目:
url
-
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
。 - 関連項目:
getHeaderField(java.lang.String)
-
getContentEncoding
public String getContentEncoding()content-encoding
ヘッダー・フィールドの値を返します。- 戻り値:
- URLによって参照されているリソースのコンテンツのエンコーディング。不明の場合は
null
。 - 関連項目:
getHeaderField(java.lang.String)
-
getExpiration
public long getExpiration()expires
ヘッダー・フィールドの値を返します。- 戻り値:
- このURLが参照するリソースの有効期限日。不明の場合は0。 この値は、1970年1月1日GMTからのミリ秒数。
- 関連項目:
getHeaderField(java.lang.String)
-
getDate
public long getDate()date
ヘッダー・フィールドの値を返します。- 戻り値:
- URLが参照するリソースの送信日。不明の場合は
0
。 返される値は、1970年1月1日GMTからのミリ秒数。 - 関連項目:
getHeaderField(java.lang.String)
-
getLastModified
public long getLastModified()last-modified
ヘッダー・フィールドの値を返します。 結果は、1970年1月1日GMTからのミリ秒数です。- 戻り値:
- この
URLConnection
が参照するリソースが最後に変更された日付。不明の場合は0。 - 関連項目:
getHeaderField(java.lang.String)
-
getHeaderField
指定されたヘッダー・フィールドの値を返します。同じヘッダーを別の値で複数回設定する可能性のある接続で呼び出される場合は、最後の値だけが返されます。
- パラメータ:
name
−ヘッダー・フィールドの名前。- 戻り値:
- 指定されたヘッダー・フィールドの名前。指定された名前を持つフィールドがヘッダー内にない場合は
null
。
-
getHeaderFields
ヘッダー・フィールドの変更不可能なマップを返します。 マップのキーは、応答ヘッダーのフィールド名を表すStringです。 マップの各値は変更不可能なStringのリストであり、対応するフィールドの値を表します。- 戻り値:
- ヘッダー・フィールドのマップ
- 導入されたバージョン:
- 1.4
-
getHeaderFieldInt
public int getHeaderFieldInt(String name, int Default)指定されたフィールドを数値として構文解析した値を返します。この形式の
getHeaderField
が存在しているのは、一部の接続タイプ(http-ng
など)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。- パラメータ:
name
- ヘッダー・フィールドの名前。Default
- デフォルト値。- 戻り値:
- 指定されたフィールドを整数として構文解析した値。 フィールドが見つからないか形式が不正である場合には、
Default
の値が返されます。
-
getHeaderFieldLong
public long getHeaderFieldLong(String name, long Default)指定されたフィールドを数値として構文解析した値を返します。この形式の
getHeaderField
が存在しているのは、一部の接続タイプ(http-ng
など)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。- パラメータ:
name
- ヘッダー・フィールドの名前。Default
- デフォルト値。- 戻り値:
- 指定されたフィールドをlong値として構文解析した値。 フィールドが見つからないか形式が不正である場合には、
Default
の値が返されます。 - 導入されたバージョン:
- 1.7
-
getHeaderFieldDate
public long getHeaderFieldDate(String name, long Default)指定されたフィールドを日付として構文解析した値を返します。 結果は、指定されたフィールドが表す、1970年1月1日GMTからのミリ秒数です。この形式の
getHeaderField
が存在しているのは、一部の接続タイプ(http-ng
など)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。- パラメータ:
name
- ヘッダー・フィールドの名前。Default
- デフォルト値。- 戻り値:
- フィールドの値を日付として構文解析したもの。 フィールドが見つからないか形式が不正である場合には、
Default
引数の値が返されます。
-
getHeaderFieldKey
public String getHeaderFieldKey(int n)n
番目のヘッダー・フィールドのキーを返します。 フィールド数がn+1
個よりも少ない場合はnull
を返します。- パラメータ:
n
- インデックス。ここでn>=0
です- 戻り値:
n
番目のヘッダー・フィールドのキー。フィールド数がn+1
より少ない場合はnull
。
-
getHeaderField
public String getHeaderField(int n)n
番目のヘッダー・フィールドの値を返します。 フィールド数がn+1
個よりも少ない場合はnull
を返します。このメソッドと
getHeaderFieldKey
メソッドを組み合わせて使用すると、メッセージ内のすべてのヘッダーを反復できます。- パラメータ:
n
- インデックス。ここでn>=0
です- 戻り値:
n
番目のヘッダー・フィールドの値。フィールド数がn+1
より少ない場合はnull
。- 関連項目:
getHeaderFieldKey(int)
-
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
- プロトコルがそのコンテンツ・タイプをサポートしていない場合。- 関連項目:
ContentHandlerFactory.createContentHandler(java.lang.String)
,getContentType()
,setContentHandlerFactory(java.net.ContentHandlerFactory)
- アプリケーションで
-
getContent
public Object getContent(Class<?>[] classes) throws IOExceptionこのURL接続のコンテンツを取得します。- パラメータ:
classes
−要求された型を示すClass
配列- 戻り値:
- クラスの配列で指定された型が最初に一致した、取得したオブジェクト。要求された型がサポートされていない場合はnull。 返されたオブジェクトの種類を判定するには、
instanceof
演算子を使用することをお薦めします。 - 例外:
IOException
- コンテンツの取得中に入出力エラーが発生した場合。UnknownServiceException
- プロトコルがそのコンテンツ・タイプをサポートしていない場合。- 導入されたバージョン:
- 1.3
- 関連項目:
getContent()
,ContentHandlerFactory.createContentHandler(java.lang.String)
,getContent(java.lang.Class[])
,setContentHandlerFactory(java.net.ContentHandlerFactory)
-
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がスローされます。- 戻り値:
- この接続からの入力を受け取る入力ストリーム。
- 例外:
IOException
−入力ストリームの作成中に入出力エラーが発生した場合。UnknownServiceException
−プロトコルが入力をサポートしていない場合。- 関連項目:
setReadTimeout(int)
,getReadTimeout()
-
getOutputStream
public OutputStream getOutputStream() throws IOExceptionこの接続に書込みを行う出力ストリームを返します。- 戻り値:
- この接続に書込みを行う出力ストリーム。
- 例外:
IOException
−出力ストリームの作成中に入出力エラーが発生した場合。UnknownServiceException
−プロトコルが出力をサポートしていない場合。
-
toString
public String toString()このURL接続のString
表現を返します。 -
setDoInput
public void setDoInput(boolean doinput)このURLConnection
のdoInput
フィールドの値を指定された値に設定します。URL接続は、入力または出力、あるいはその両方に対して使用できます。 入力用にURL接続を使用する場合はdoInputフラグをtrueに設定し、入力用にURL接続を使用しない場合はfalseに設定します。 デフォルトは、trueです。
- パラメータ:
doinput
- 新しい値。- 例外:
IllegalStateException
- すでに接続されている場合- 関連項目:
doInput
,getDoInput()
-
getDoInput
public boolean getDoInput()このURLConnection
のdoInput
フラグの値を返します。- 戻り値:
- この
URLConnection
のdoInput
フラグの値。 - 関連項目:
setDoInput(boolean)
-
setDoOutput
public void setDoOutput(boolean dooutput)このURLConnection
のdoOutput
フィールドの値を指定された値に設定します。URL接続は、入力または出力、あるいはその両方に対して使用できます。 出力にURL接続を使用する場合はdoOutputフラグをtrueに設定し、出力しない場合はfalseに設定します。 デフォルトはfalseです。
- パラメータ:
dooutput
- 新しい値。- 例外:
IllegalStateException
- すでに接続されている場合- 関連項目:
getDoOutput()
-
getDoOutput
public boolean getDoOutput()このURLConnection
のdoOutput
フラグの値を返します。- 戻り値:
- この
URLConnection
のdoOutput
フラグの値。 - 関連項目:
setDoOutput(boolean)
-
setAllowUserInteraction
public void setAllowUserInteraction(boolean allowuserinteraction)このURLConnection
のallowUserInteraction
フィールドの値を設定します。- パラメータ:
allowuserinteraction
- 新しい値。- 例外:
IllegalStateException
- すでに接続されている場合- 関連項目:
getAllowUserInteraction()
-
getAllowUserInteraction
public boolean getAllowUserInteraction()このオブジェクトのallowUserInteraction
フィールドの値を返します。- 戻り値:
- このオブジェクトの
allowUserInteraction
フィールドの値。 - 関連項目:
setAllowUserInteraction(boolean)
-
setDefaultAllowUserInteraction
public static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)将来に作成されるすべてのURLConnection
オブジェクトのallowUserInteraction
フィールドについて、デフォルト値を指定された値に設定します。- パラメータ:
defaultallowuserinteraction
- 新しい値。- 関連項目:
getDefaultAllowUserInteraction()
-
getDefaultAllowUserInteraction
public static boolean getDefaultAllowUserInteraction()allowUserInteraction
フィールドのデフォルト値を返します。このデフォルトは"sticky"であり、すべてのURLConnectionの静的状態の一部です。 このフラグは、次回以降に作成されるすべてのURLConnectionに対して適用されます。
- 戻り値:
allowUserInteraction
フィールドのデフォルト値。- 関連項目:
setDefaultAllowUserInteraction(boolean)
-
setUseCaches
public void setUseCaches(boolean usecaches)このURLConnection
のuseCaches
フィールドの値を指定された値に設定します。プロトコルによってはドキュメントのキャッシングを行う場合があります。 場合によってはキャッシュを無視して情報を転送する(ブラウザの「再読込」ボタンなど)ことが重要なこともあります。 接続のuseCachesフラグがtrueの場合、接続は、可能な場合はいつでもキャッシュを使用できます。 falseの場合、キャッシュは無視されます。 デフォルト値はdefaultUseCachesから得られます。デフォルトはtrueです。 デフォルト値は、
setDefaultUseCaches(String,boolean)
を使用してプロトコルごとに設定することもできます。- パラメータ:
usecaches
−キャッシュへの書込みが可能かどうかを示すboolean
値。- 例外:
IllegalStateException
- すでに接続されている場合- 関連項目:
getUseCaches()
-
getUseCaches
public boolean getUseCaches()このURLConnection
のuseCaches
フィールドの値を返します。- 戻り値:
- この
URLConnection
のuseCaches
フィールドの値。 - 関連項目:
setUseCaches(boolean)
-
setIfModifiedSince
public void setIfModifiedSince(long ifmodifiedsince)このURLConnection
のifModifiedSince
フィールドの値を指定された値に設定します。- パラメータ:
ifmodifiedsince
- 新しい値。- 例外:
IllegalStateException
- すでに接続されている場合- 関連項目:
getIfModifiedSince()
-
getIfModifiedSince
public long getIfModifiedSince()このオブジェクトのifModifiedSince
フィールドの値を返します。- 戻り値:
- このオブジェクトの
ifModifiedSince
フィールドの値。 - 関連項目:
setIfModifiedSince(long)
-
getDefaultUseCaches
public boolean getDefaultUseCaches()URLConnection
のuseCaches
フラグのデフォルト値を返します。このデフォルトは"sticky"であり、すべてのURLConnectionの静的状態の一部です。 このフラグは、次回以降に作成されるすべてのURLConnectionに対して適用されます。 このデフォルト値は、プロトコルごとに
setDefaultUseCaches(String,boolean)
を使用してオーバーライドすることができます- 戻り値:
URLConnection
のuseCaches
フラグのデフォルト値。- 関連項目:
setDefaultUseCaches(boolean)
-
setDefaultUseCaches
public void setDefaultUseCaches(boolean defaultusecaches)useCaches
フィールドのデフォルト値を、指定された値に設定します。 このデフォルト値は、プロトコルごとにsetDefaultUseCaches(String,boolean)
を使用してオーバーライドすることができます- パラメータ:
defaultusecaches
- 新しい値。- 関連項目:
getDefaultUseCaches()
-
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
の場合- 関連項目:
getRequestProperty(java.lang.String)
-
addRequestProperty
キーと値のペアで指定された一般要求プロパティを追加します。 このメソッドは、同じキーに関連付けられている既存の値を上書きしません。- パラメータ:
key
- 要求を識別するキーワード(「Accept
」など)。value
- キーワードに関連した値。- 例外:
IllegalStateException
- すでに接続されている場合NullPointerException
- キーがnullの場合- 導入されたバージョン:
- 1.4
- 関連項目:
getRequestProperties()
-
getRequestProperty
この接続の指定された一般要求プロパティの値を返します。- パラメータ:
key
- 要求を識別するキーワード(「Accept」など)。- 戻り値:
- この接続の指定された一般要求プロパティの値。 キーがnullの場合はnullが返される。
- 例外:
IllegalStateException
- すでに接続されている場合- 関連項目:
setRequestProperty(java.lang.String, java.lang.String)
-
getRequestProperties
この接続の一般要求プロパティの変更不可能なマップを返します。 マップのキーは、要求ヘッダーのフィールド名を表すStringです。 マップの各値は変更不可能なStringのリストであり、対応するフィールドの値を表します。- 戻り値:
- この接続の一般要求プロパティのマップ。
- 例外:
IllegalStateException
- すでに接続されている場合- 導入されたバージョン:
- 1.4
-
setDefaultRequestProperty
@Deprecatedpublic static void setDefaultRequestProperty(String key, String value)非推奨。URLConnectionの該当インスタンスを取得したあとは、インスタンス固有のsetRequestPropertyメソッドを使用します。 このメソッドを呼び出しても、何の効果もありません。一般要求プロパティのデフォルト値を設定します。URLConnection
はその作成時に、これらのプロパティを使って初期化されます。- パラメータ:
key
- 要求を識別するキーワード(「Accept
」など)。value
−キーに関連した値。- 関連項目:
setRequestProperty(java.lang.String,java.lang.String)
,getDefaultRequestProperty(java.lang.String)
-
getDefaultRequestProperty
@Deprecatedpublic static String getDefaultRequestProperty(String key)非推奨。URLConnectionの該当インスタンスを取得したあとは、インスタンス固有のgetRequestPropertyメソッドを使用します。デフォルト要求プロパティの値を返します。 デフォルトの要求プロパティはすべての接続に設定されています。- パラメータ:
key
- 要求を識別するキーワード(「Accept」など)。- 戻り値:
- 指定されたキーに対するデフォルト要求プロパティの値。
- 関連項目:
getRequestProperty(java.lang.String)
,setDefaultRequestProperty(java.lang.String, java.lang.String)
-
setContentHandlerFactory
public static void setContentHandlerFactory(ContentHandlerFactory fac)アプリケーションのContentHandlerFactory
を設定します。 アプリケーションでは最大で1回呼び出すことができます。コンテンツの種類を基にContentHandlerを構築する際には
ContentHandlerFactory
が使用されます。セキュリティ・マネージャが存在する場合、この操作が許可されるように、このメソッドは最初にセキュリティ・マネージャの
checkSetFactory
メソッドを呼び出します。 この結果、SecurityExceptionがスローされることがあります。- パラメータ:
fac
- 目的のファクトリ。- 例外:
Error
- ファクトリがすでに定義されている場合。SecurityException
- セキュリティ・マネージャが存在し、そのcheckSetFactory
メソッドでこの操作が許可されていない場合。- 関連項目:
ContentHandlerFactory
,getContent()
,SecurityManager.checkSetFactory()
-
guessContentTypeFromName
URLの指定された「ファイル」コンポーネントを基に、オブジェクトのコンテンツ型を推測します。 これは、getContentType
メソッドをオーバーライドするサブクラスが使用可能な簡易メソッドです。- パラメータ:
fname
−ファイル名。- 戻り値:
- ファイル名を基に推測したオブジェクトのコンテンツ型。
- 関連項目:
getContentType()
-
guessContentTypeFromStream
public static String guessContentTypeFromStream(InputStream is) throws IOException入力ストリームの先頭の文字を基に、入力ストリームの種類の決定を試みます。getContentType
メソッドをオーバーライドするサブクラスが、このメソッドを使用できます。このルーチンが必要なくなるのが理想的です。 しかし、コンテンツ型として不正な値を返す
http
サーバーは数多くあります。さらに、標準的ではない拡張子もたくさんあります。 このため、http
サーバーが返すコンテンツ型をうのみにするよりも、データを基にコンテンツ型を直接推測した方が正確な場合がよくあります。- パラメータ:
is
−markをサポートする入力ストリーム。- 戻り値:
- 推測したコンテンツ型。推測できない場合は
null
。 - 例外:
IOException
−入力ストリームの読取り中に入出力エラーが発生した場合。- 関連項目:
InputStream.mark(int)
,InputStream.markSupported()
,getContentType()
-