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
fileNameMap
に関する注意: JDK 1.1.6 より前のバージョンでは、URLConnection
のフィールド fileNameMap
は public でした。JDK 1.1.6 以降では、fileNameMap
は private になっています。アクセス用メソッド getFileNameMap
と変更用メソッド setFileNameMap
が、この情報へのアクセス用として追加されました。この変更については、互換性のページでも説明されています。
要求後に 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
です。
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, 2013, Oracle and/or its affiliates. All rights reserved.