public abstract class URLConnection extends Object
URLConnection
は、アプリケーションとURLとの間の通信リンクを表すすべてのクラスのスーパー・クラスです。 このクラスのインスタンスを使用して、URLで参照するリソースの読み込みと書込みの両方を行うことができます。 一般に、URLへの接続の作成は、次のような複数のステップが必要となります。
openConnection() |
connect() |
---|---|
リモート・リソースへの接続に影響するパラメータを操作する。 | リソースとの間で、クエリー・ヘッダー・フィールドおよびコンテンツをやり取りする。 |
openConnection
メソッドを呼び出すことによって、接続オブジェクトを生成する。
connect
メソッドを使用して、リモート・オブジェクトへの実際の接続を確立する。
セットアップ・パラメータを修正するには次のメソッドを使用します。
setAllowUserInteraction
setDoInput
setDoOutput
setIfModifiedSince
setUseCaches
一般要求プロパティを修正するには次のメソッドを使用します。
setRequestProperty
AllowUserInteraction
パラメータとUseCaches
パラメータのデフォルト値は、setDefaultAllowUserInteraction
メソッドとsetDefaultUseCaches
メソッドを使用して設定できます。
上記のset
メソッドには対応するget
メソッドがあり、それらのメソッドを使えば、パラメータまたは一般要求プロパティの値を取得できます。 具体的にどのパラメータや一般要求プロパティが適用可能であるかは、プロトコルごとに異なります。
リモート・オブジェクトへの接続を確立したあと、ヘッダー・フィールドと内容にアクセスするには次のメソッドを使用します。
getContent
getHeaderField
getInputStream
getOutputStream
一部のヘッダー・フィールドは頻繁にアクセスされます。 関連するメソッドを次に示します。
getContentEncoding
getContentLength
getContentType
getDate
getExpiration
getLastModifed
上記を使えば、これらのフィールドに容易にアクセスできます。 getContentType
メソッドは、リモート・オブジェクトの型を判別するときにgetContent
メソッドによって使用されます。サブクラスでは、getContentType
メソッドをオーバーライドすると便利なことがあります。
通常の場合、接続前のパラメータと一般要求プロパティはすべて、無視してかまいません。接続前のパラメータと要求プロパティは適切な値にデフォルト設定されます。 このインタフェースの大部分のクライアントで関心を持たれるメソッドは、2つしかありません。getInputStream
とgetContent
です。これらは、URL
クラスの簡易メソッドによってミラー化されます。
http
接続の要求プロパティとヘッダー・フィールドの詳細は、次のサイトを参照してください。
要求後にhttp://www.ietf.org/rfc/rfc2616.txt
URLConnection
のInputStream
またはOutputStream
上でclose()
メソッドを呼び出すと、特定のプロトコル仕様で他の動作が規定されていないかぎり、このインスタンスに関連付けられたネットワーク・リソースが解放されます。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(Class[] 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 フラグのデフォルト値を返します。 |
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() |
読取りタイム・アウトの設定を返します。
|
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 フィールドのデフォルト値を、指定された値に設定します。 |
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 表現を返します。 |
protected URL url
このフィールドの値にアクセスするには、getURL
メソッドを使用します。
この変数のデフォルト値は、URLConnection
コンストラクタのURL引数の値です。
protected boolean doInput
setDoInput
メソッドによって設定されています。 その値は、getDoInput
メソッドによって返されます。
URL接続は、入力または出力、あるいはその両方に対して使用できます。 doInput
フラグをtrue
に設定した場合、それは、アプリケーションがURL接続からデータを読み取る予定であることを示します。
このフィールドのデフォルト値はtrue
です。
getDoInput()
, setDoInput(boolean)
protected boolean doOutput
setDoOutput
メソッドによって設定されています。 その値は、getDoOutput
メソッドによって返されます。
URL接続は、入力または出力、あるいはその両方に対して使用できます。 doOutput
フラグをtrue
に設定した場合、それは、アプリケーションがURL接続にデータを書き込む予定であることを示します。
このフィールドのデフォルト値はfalse
です。
protected boolean allowUserInteraction
true
の場合、このURL
は、ユーザーとの対話(認証ダイアログのポップアップなど)を許可することが意味をなすコンテキストで検査されています。 false
の場合、ユーザーとの対話処理は許可されていません。
このフィールドの値に設定するには、setAllowUserInteraction
メソッドを使用します。 その値は、getAllowUserInteraction
メソッドによって返されます。 そのデフォルト値は、setDefaultAllowUserInteraction
メソッドを最後に呼び出した時の引数の値になります。
protected boolean useCaches
true
の場合、このプロトコルは、可能な場合はいつでもキャッシュを使用することが許可されています。 false
の場合、プロトコルは常に、オブジェクトの新規のコピーを取得する必要があります。
このフィールドは、setUseCaches
メソッドによって設定されます。 その値は、getUseCaches
メソッドによって返されます。
このフィールドのデフォルト値は、setDefaultUseCaches
メソッドを最後に呼び出したときに指定した値です。
protected long ifModifiedSince
0以外の値は、1970年1月1日GMTから起算したミリ秒数を表します。 オブジェクトが取得されるのは、その時間よりも後にオブジェクトが変更された場合だけです。
この変数は、setIfModifiedSince
メソッドによって設定されています。 その値は、getIfModifiedSince
メソッドによって返されます。
このフィールドのデフォルト値は0
(常にオブジェクトをフェッチする)です。
protected boolean connected
false
の場合、この接続オブジェクトは、指定されたURLへの通信リンクを作成していません。 true
の場合、通信リンクが確立されています。 protected URLConnection(URL url)
url
−指定されたURL。public static FileNameMap getFileNameMap()
setFileNameMap(java.net.FileNameMap)
public static void setFileNameMap(FileNameMap map)
セキュリティ・マネージャが存在する場合、この操作が許可されるように、このメソッドは最初にセキュリティ・マネージャのcheckSetFactory
メソッドを呼び出します。 この結果、SecurityExceptionがスローされることがあります。
map
−設定するFileNameMapSecurityException
- セキュリティ・マネージャが存在し、そのcheckSetFactory
メソッドでこの操作が許可されていない場合。SecurityManager.checkSetFactory()
, getFileNameMap()
public abstract void connect() throws IOException
connect
メソッドを呼び出したときに、接続がすでに確立されていれば(connected
フィールドの値がtrue
であれば)、メソッド呼出しは無視されます。
URLConnectionオブジェクトは2つの段階を経験します。それらはまず作成され、次に接続されます。 作成されてから接続されるまでの間は、doInputやuseCachesなど、さまざまなオプションを指定できます。 接続後にそれらを設定しようとすると、エラーが発生します。 getContentLengthなどの、接続されていることに依存する操作は、必要に応じて暗黙的に接続を実行します。
SocketTimeoutException
−接続が確立される前にタイム・アウトが過ぎた場合IOException
- 接続のオープン中に入出力エラーが発生した場合。connected
, getConnectTimeout()
, setConnectTimeout(int)
public void setConnectTimeout(int timeout)
このメソッドの非標準実装のなかには、指定されたタイムアウトを無視するものもあります。 設定されている接続タイム・アウトを確認するには、getConnectTimeout()を呼び出してください。
timeout
−ミリ秒単位の接続タイム・アウト値を表すint
IllegalArgumentException
- timeoutパラメータが負の場合getConnectTimeout()
, connect()
public int getConnectTimeout()
このオプションが無効(タイム・アウトが無限)の場合は0を返します。
int
setConnectTimeout(int)
, connect()
public void setReadTimeout(int timeout)
このメソッドの非標準実装のなかには、指定されたタイム・アウトを無視するものもあります。 設定されている読取りタイム・アウトを確認するには、getReadTimeout()を呼び出してください。
timeout
−使用すべきミリ秒単位のタイム・アウト値を指定するint
IllegalArgumentException
- timeoutパラメータが負の場合getReadTimeout()
, InputStream.read()
public int getReadTimeout()
int
setReadTimeout(int)
, InputStream.read()
public URL getURL()
URLConnection
のURL
フィールドの値を返します。URLConnection
のURL
フィールドの値。url
public int getContentLength()
content-length
ヘッダー・フィールドの値を返します。
ノート: このメソッドよりgetContentLengthLong()
を優先してください。これはlong
を返すのでより移植性が高いからです。
-1
。public long getContentLengthLong()
content-length
ヘッダー・フィールドの値をlong型として返します。-1
。public String getContentType()
content-type
ヘッダー・フィールドの値を返します。null
。getHeaderField(java.lang.String)
public String getContentEncoding()
content-encoding
ヘッダー・フィールドの値を返します。null
。getHeaderField(java.lang.String)
public long getExpiration()
expires
ヘッダー・フィールドの値を返します。getHeaderField(java.lang.String)
public long getDate()
date
ヘッダー・フィールドの値を返します。0
。 返される値は、1970年1月1日GMTからのミリ秒数。 getHeaderField(java.lang.String)
public long getLastModified()
last-modified
ヘッダー・フィールドの値を返します。 結果は、1970年1月1日GMTからのミリ秒数です。 URLConnection
が参照するリソースが最後に変更された日付。不明の場合は0。getHeaderField(java.lang.String)
public String getHeaderField(String name)
同じヘッダーを別の値で複数回設定する可能性のある接続で呼び出される場合は、最後の値だけが返されます。
name
−ヘッダー・フィールドの名前。null
。public Map<String,List<String>> getHeaderFields()
public int getHeaderFieldInt(String name, int Default)
この形式のgetHeaderField
が存在しているのは、一部の接続タイプ(http-ng
など)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。
name
- ヘッダー・フィールドの名前。Default
- デフォルト値。Default
の値が返されます。 public long getHeaderFieldLong(String name, long Default)
この形式のgetHeaderField
が存在しているのは、一部の接続タイプ(http-ng
など)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。
name
- ヘッダー・フィールドの名前。Default
- デフォルト値。Default
の値が返されます。 public long getHeaderFieldDate(String name, long Default)
この形式のgetHeaderField
が存在しているのは、一部の接続タイプ(http-ng
など)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。
name
- ヘッダー・フィールドの名前。Default
- デフォルト値。Default
引数の値が返されます。 public String getHeaderFieldKey(int n)
n
番目のヘッダー・フィールドのキーを返します。 フィールド数がn+1
個よりも少ない場合はnull
を返します。 n
- インデックス。ここでn>=0
ですn
番目のヘッダー・フィールドのキー。フィールド数がn+1
より少ない場合はnull
。public String getHeaderField(int n)
n
番目のヘッダー・フィールドの値を返します。 フィールド数がn+1
個よりも少ない場合はnull
を返します。
このメソッドとgetHeaderFieldKey
メソッドを組み合わせて使用すると、メッセージ内のすべてのヘッダーを反復できます。
n
- インデックス。ここでn>=0
ですn
番目のヘッダー・フィールドの値。フィールド数がn+1
より少ない場合はnull
。getHeaderFieldKey(int)
public Object getContent() throws IOException
このメソッドでは最初にgetContentType
メソッドを呼び出し、オブジェクトの情報の種類を判別します。 アプリケーションでその種類の内容を見るのが初めての場合は、その種類の情報ヘッダーが作成されます。
setContentHandlerFactory
メソッドを使用しContentHandlerファクトリのインスタンスがセット・アップされている場合は、そのインスタンスのcreateContentHandler
メソッドを呼び出し、内容の種類を引数として渡します。その結果、その内容の種類のContentHandlerが返されます。
createContentHandler
メソッドがnull
を返す場合、アプリケーションは次の名前のクラスをロードします。
ここで、<contentType>は、内容の種類を表わす文字列のスラッシュ文字をすべてsun.net.www.content.<contentType>
ピリオド
(「.」)に置換し、アルファベット以外のすべての文字を下線文字「_
」に置換することによって生成されます。 アルファベット文字とは、26個の大文字のASCII文字(「A
」から「Z
」まで)、26個の小文字のASCII文字(「a
」から「z
」まで)、および10個のASCII数字(「0
」から「9
」まで)を表します。 指定されたクラスが、存在しないか、ContentHandler
のサブクラスではない場合、UnknownServiceException
がスローされます。
instanceof
演算子を使用することをお薦めします。 IOException
- コンテンツの取得中に入出力エラーが発生した場合。UnknownServiceException
- プロトコルがそのコンテンツ・タイプをサポートしていない場合。ContentHandlerFactory.createContentHandler(java.lang.String)
, getContentType()
, setContentHandlerFactory(java.net.ContentHandlerFactory)
public Object getContent(Class[] classes) throws IOException
classes
−要求された型を示すClass
配列instanceof
演算子を使用することをお薦めします。 IOException
- コンテンツの取得中に入出力エラーが発生した場合。UnknownServiceException
- プロトコルがそのコンテンツ・タイプをサポートしていない場合。getContent()
, ContentHandlerFactory.createContentHandler(java.lang.String)
, getContent(java.lang.Class[])
, setContentHandlerFactory(java.net.ContentHandlerFactory)
public Permission getPermission() throws IOException
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番目の場合、アクセス権は接続の前に取得およびテストされます。
IOException
−アクセス権の処理のためにネットワークまたはファイルの入出力が必要で、その処理中に例外が発生した場合。public InputStream getInputStream() throws IOException
IOException
−入力ストリームの作成中に入出力エラーが発生した場合。UnknownServiceException
−プロトコルが入力をサポートしていない場合。setReadTimeout(int)
, getReadTimeout()
public OutputStream getOutputStream() throws IOException
IOException
−出力ストリームの作成中に入出力エラーが発生した場合。UnknownServiceException
−プロトコルが出力をサポートしていない場合。public String toString()
String
表現を返します。public void setDoInput(boolean doinput)
URLConnection
のdoInput
フィールドの値を指定された値に設定します。
URL接続は、入力または出力、あるいはその両方に対して使用できます。 URL接続を入力用として使用する予定である場合はdoInputフラグをtrueに設定し、そうでない場合はfalseに設定します。 デフォルトはtrueです。
doinput
- 新しい値。IllegalStateException
- すでに接続されている場合doInput
, getDoInput()
public boolean getDoInput()
URLConnection
のdoInput
フラグの値を返します。URLConnection
のdoInput
フラグの値。setDoInput(boolean)
public void setDoOutput(boolean dooutput)
URLConnection
のdoOutput
フィールドの値を指定された値に設定します。
URL接続は、入力または出力、あるいはその両方に対して使用できます。 URL接続を出力用として使用する予定である場合はdoOutputフラグをtrueに設定し、そうでない場合はfalseに設定します。 デフォルトはfalseです。
dooutput
- 新しい値。IllegalStateException
- すでに接続されている場合getDoOutput()
public boolean getDoOutput()
URLConnection
のdoOutput
フラグの値を返します。URLConnection
のdoOutput
フラグの値。setDoOutput(boolean)
public void setAllowUserInteraction(boolean allowuserinteraction)
URLConnection
のallowUserInteraction
フィールドの値を設定します。allowuserinteraction
- 新しい値。IllegalStateException
- すでに接続されている場合getAllowUserInteraction()
public boolean getAllowUserInteraction()
allowUserInteraction
フィールドの値を返します。allowUserInteraction
フィールドの値。setAllowUserInteraction(boolean)
public static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
URLConnection
オブジェクトのallowUserInteraction
フィールドについて、デフォルト値を指定された値に設定します。defaultallowuserinteraction
- 新しい値。getDefaultAllowUserInteraction()
public static boolean getDefaultAllowUserInteraction()
allowUserInteraction
フィールドのデフォルト値を返します。
デフォルト値は「sticky」(すべてのURLConnectionの静的な状態の一部)です。 このフラグは、次回以降に作成されるすべてのURLConnectionに対して適用されます。
allowUserInteraction
フィールドのデフォルト値。setDefaultAllowUserInteraction(boolean)
public void setUseCaches(boolean usecaches)
URLConnection
のuseCaches
フィールドの値を指定された値に設定します。
プロトコルによってはドキュメントのキャッシングを行う場合があります。 場合によってはキャッシュを無視して情報を転送する(ブラウザの「再読込」ボタンなど)ことが重要なこともあります。 接続のuseCachesフラグがtrueの場合、接続は、可能な場合はいつでもキャッシュを使用できます。 falseの場合、キャッシュは無視されます。 デフォルト値はDefaultUseCachesの値によって決まりますが、DefaultUseCachesのデフォルト値はtrueです。
usecaches
−キャッシュへの書込みが可能かどうかを示すboolean
値。IllegalStateException
- すでに接続されている場合getUseCaches()
public boolean getUseCaches()
URLConnection
のuseCaches
フィールドの値を返します。URLConnection
のuseCaches
フィールドの値。setUseCaches(boolean)
public void setIfModifiedSince(long ifmodifiedsince)
URLConnection
のifModifiedSince
フィールドの値を指定された値に設定します。ifmodifiedsince
- 新しい値。IllegalStateException
- すでに接続されている場合getIfModifiedSince()
public long getIfModifiedSince()
ifModifiedSince
フィールドの値を返します。ifModifiedSince
フィールドの値。setIfModifiedSince(long)
public boolean getDefaultUseCaches()
URLConnection
のuseCaches
フラグのデフォルト値を返します。
デフォルト値は「sticky」(すべてのURLConnectionの静的な状態の一部)です。 このフラグは、次回以降に作成されるすべてのURLConnectionに対して適用されます。
URLConnection
のuseCaches
フラグのデフォルト値。setDefaultUseCaches(boolean)
public void setDefaultUseCaches(boolean defaultusecaches)
useCaches
フィールドのデフォルト値を、指定された値に設定します。defaultusecaches
- 新しい値。getDefaultUseCaches()
public void setRequestProperty(String key, String value)
ノート: 複数のプロパティを1つのプロパティに付加できるようにする、カンマで区切られたリスト構文を使用するために、HTTPは、同じキーで複数のインスタンスを正当に持てる要求プロパティをすべて必要とします。
key
- 要求を識別するキーワード(「Accept
」など)。value
- キーワードに関連した値。IllegalStateException
- すでに接続されている場合NullPointerException
- キーがnull
の場合getRequestProperty(java.lang.String)
public void addRequestProperty(String key, String value)
key
- 要求を識別するキーワード(「Accept
」など)。value
- キーワードに関連した値。IllegalStateException
- すでに接続されている場合NullPointerException
- キーがnullの場合getRequestProperties()
public String getRequestProperty(String key)
key
- 要求を識別するキーワード(「Accept」など)。IllegalStateException
- すでに接続されている場合setRequestProperty(java.lang.String, java.lang.String)
public Map<String,List<String>> getRequestProperties()
IllegalStateException
- すでに接続されている場合@Deprecated public static void setDefaultRequestProperty(String key, String value)
URLConnection
はその作成時に、これらのプロパティを使って初期化されます。 key
- 要求を識別するキーワード(「Accept
」など)。value
−キーに関連した値。setRequestProperty(java.lang.String,java.lang.String)
, getDefaultRequestProperty(java.lang.String)
@Deprecated public static String getDefaultRequestProperty(String key)
key
- 要求を識別するキーワード(「Accept」など)。getRequestProperty(java.lang.String)
, setDefaultRequestProperty(java.lang.String, java.lang.String)
public static void setContentHandlerFactory(ContentHandlerFactory fac)
ContentHandlerFactory
を設定します。 アプリケーションでは最大で1回呼び出すことができます。
コンテンツの種類を基にContentHandlerを構築する際にはContentHandlerFactory
が使用されます。
セキュリティ・マネージャが存在する場合、この操作が許可されるように、このメソッドは最初にセキュリティ・マネージャのcheckSetFactory
メソッドを呼び出します。 この結果、SecurityExceptionがスローされることがあります。
fac
- 目的のファクトリ。Error
- ファクトリがすでに定義されている場合。SecurityException
- セキュリティ・マネージャが存在し、そのcheckSetFactory
メソッドでこの操作が許可されていない場合。ContentHandlerFactory
, getContent()
, SecurityManager.checkSetFactory()
public static String guessContentTypeFromName(String fname)
getContentType
メソッドをオーバーライドするサブクラスが使用可能な簡易メソッドです。 fname
−ファイル名。getContentType()
public static String guessContentTypeFromStream(InputStream is) throws IOException
getContentType
メソッドをオーバーライドするサブクラスが、このメソッドを使用できます。
このルーチンが必要なくなるのが理想的です。 しかし、コンテンツ型として不正な値を返すhttp
サーバーは数多くあります。さらに、標準的ではない拡張子もたくさんあります。 このため、http
サーバーが返すコンテンツ型をうのみにするよりも、データを基にコンテンツ型を直接推測した方が正確な場合がよくあります。
is
−markをサポートする入力ストリーム。null
。IOException
−入力ストリームの読取り中に入出力エラーが発生した場合。InputStream.mark(int)
, InputStream.markSupported()
, getContentType()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。