|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.net.URLConnection java.net.HttpURLConnection
public abstract class HttpURLConnection
HTTP 固有の機能をサポートする URLConnection です。詳細については、仕様を参照してください。
単一の要求を行う際には個々の HttpURLConnection インスタンスが使用されますが、その背後の HTTP サーバーへのネットワーク接続は、ほかのインスタンスと透過的に共有される可能性があります。要求後、HttpURLConnection の InputStream または OutputStream 上で close() メソッドを呼び出すと、そのインスタンスに関連付けられていたネットワークリソースが解放される可能性がありますが、共有されている持続接続への影響はまったくありません。disconnect() メソッドを呼び出した場合、持続接続がその時点でアイドル状態になっていれば、使用していたソケットがクローズされる可能性があります。
disconnect()
フィールドの概要 | |
---|---|
protected int |
chunkLength
出力時にチャンクエンコーディングストリーミングモードを使用する場合のチャンク長。 |
protected int |
fixedContentLength
固定長ストリーミングモードを使用する場合の固定コンテンツ長。 |
static int |
HTTP_ACCEPTED
HTTP Status-Code 202:受け入れられました。 |
static int |
HTTP_BAD_GATEWAY
HTTP Status-Code 502:不正なゲートウェイ。 |
static int |
HTTP_BAD_METHOD
HTTP Status-Code 405:メソッドが許可されていません。 |
static int |
HTTP_BAD_REQUEST
HTTP Status-Code 400:不正な要求。 |
static int |
HTTP_CLIENT_TIMEOUT
HTTP Status-Code 408:要求がタイムアウトしました。 |
static int |
HTTP_CONFLICT
HTTP Status-Code 409:衝突しています。 |
static int |
HTTP_CREATED
HTTP Status-Code 201:作成されました。 |
static int |
HTTP_ENTITY_TOO_LARGE
HTTP Status-Code 413:要求のエンティティーが大きすぎます。 |
static int |
HTTP_FORBIDDEN
HTTP Status-Code 403:禁止されています。 |
static int |
HTTP_GATEWAY_TIMEOUT
HTTP Status-Code 504:ゲートウェイがタイムアウトしました。 |
static int |
HTTP_GONE
HTTP Status-Code 410:存在しません。 |
static int |
HTTP_INTERNAL_ERROR
HTTP Status-Code 500:内部サーバーエラー。 |
static int |
HTTP_LENGTH_REQUIRED
HTTP Status-Code 411:長さが必要です。 |
static int |
HTTP_MOVED_PERM
HTTP Status-Code 301:永続的に移動されました。 |
static int |
HTTP_MOVED_TEMP
HTTP Status-Code 302:一時的なリダイレクト。 |
static int |
HTTP_MULT_CHOICE
HTTP Status-Code 300:複数の選択肢があります。 |
static int |
HTTP_NO_CONTENT
HTTP Status-Code 204:コンテンツがありません。 |
static int |
HTTP_NOT_ACCEPTABLE
HTTP Status-Code 406:受け入れられません。 |
static int |
HTTP_NOT_AUTHORITATIVE
HTTP Status-Code 203:信頼できない情報です。 |
static int |
HTTP_NOT_FOUND
HTTP Status-Code 404:見つかりません。 |
static int |
HTTP_NOT_IMPLEMENTED
HTTP Status-Code 501:実装されていません。 |
static int |
HTTP_NOT_MODIFIED
HTTP Status-Code 304:変更されていません。 |
static int |
HTTP_OK
HTTP Status-Code 200:OK です。 |
static int |
HTTP_PARTIAL
HTTP Status-Code 206:部分的なコンテンツ。 |
static int |
HTTP_PAYMENT_REQUIRED
HTTP Status-Code 402:支払いの必要があります。 |
static int |
HTTP_PRECON_FAILED
HTTP Status-Code 412:前提条件が満たされていません。 |
static int |
HTTP_PROXY_AUTH
HTTP Status-Code 407:プロキシ認証が必要です。 |
static int |
HTTP_REQ_TOO_LONG
HTTP Status-Code 414:要求の URI が大きすぎます。 |
static int |
HTTP_RESET
HTTP Status-Code 205:コンテンツをリセットします。 |
static int |
HTTP_SEE_OTHER
HTTP Status-Code 303:ほかを参照してください。 |
static int |
HTTP_SERVER_ERROR
推奨されていません。 間違ったフィールドであり、存在するべきではありせん。 |
static int |
HTTP_UNAUTHORIZED
HTTP Status-Code 401:承認されていません。 |
static int |
HTTP_UNAVAILABLE
HTTP Status-Code 503:サービスが使用不可能です。 |
static int |
HTTP_UNSUPPORTED_TYPE
HTTP Status-Code 415:サポートされていないメディアタイプです。 |
static int |
HTTP_USE_PROXY
HTTP Status-Code 305:プロキシを使用します。 |
static int |
HTTP_VERSION
HTTP Status-Code 505:サポートされていない HTTP バージョンです。 |
protected boolean |
instanceFollowRedirects
true の場合、プロトコルは自動的にリダイレクトに従います。 |
protected String |
method
HTTP メソッド (GET、POST、PUT など) です。 |
protected int |
responseCode
3 桁の HTTP ステータスコードを表す int です。 |
protected String |
responseMessage
HTTP 応答メッセージです。 |
クラス java.net.URLConnection から継承されたフィールド |
---|
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches |
コンストラクタの概要 | |
---|---|
protected |
HttpURLConnection(URL u)
HttpURLConnection のコンストラクタです。 |
メソッドの概要 | |
---|---|
abstract void |
disconnect()
サーバーへの要求が近い将来発生しそうにないことを示します。 |
InputStream |
getErrorStream()
接続が失敗したが、それにもかかわらずサーバーから有用なデータを送信されてきた場合に、エラーストリームを返します。 |
static boolean |
getFollowRedirects()
HTTP リダイレクト (3xx) に自動的に従うかどうかを示す boolean を返します。 |
String |
getHeaderField(int n)
n 番目のヘッダーフィールドの値を返します。 |
long |
getHeaderFieldDate(String name,
long Default)
指定されたフィールドを日付として構文解析した値を返します。 |
String |
getHeaderFieldKey(int n)
n 番目のヘッダフィールドのキーを返します。 |
boolean |
getInstanceFollowRedirects()
この HttpURLConnection の instanceFollowRedirects フィールド値を返します。 |
Permission |
getPermission()
このオブジェクトが表す接続のために必要なアクセス権を表す Permission オブジェクトを返します。 |
String |
getRequestMethod()
要求メソッドを取得します。 |
int |
getResponseCode()
HTTP 応答メッセージから状態コードを取得します。 |
String |
getResponseMessage()
サーバーから応答コードとともに HTTP 応答メッセージが返された場合、そのメッセージを取得します。 |
void |
setChunkedStreamingMode(int chunklen)
このメソッドを使用すれば、コンテンツ長があらかじめわかっていない場合に、内部バッファーを使用しない HTTP 要求本体のストリーミングを有効にすることができます。 |
void |
setFixedLengthStreamingMode(int contentLength)
このメソッドを使用すれば、コンテンツ長があらかじめわかっている場合に、内部バッファーを使用しない HTTP 要求本体のストリーミングを有効にすることができます。 |
static void |
setFollowRedirects(boolean set)
HTTP リダイレクト (応答コード 3xx の要求) に、このクラスが自動的に従うべきかどうかを設定します。 |
void |
setInstanceFollowRedirects(boolean followRedirects)
HTTP リダイレクト (応答コード 3xx の要求) を、この HttpURLConnection インスタンスで自動に従うかどうかを設定します。 |
void |
setRequestMethod(String method)
URL 要求のメソッドを次のどれかに設定します。 |
abstract boolean |
usingProxy()
接続でプロキシを使用するかどうかを表します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
---|
protected String method
protected int chunkLength
-1
は、出力時のチャンクエンコーディングが無効であることを意味します。
protected int fixedContentLength
-1
は、出力時の固定長ストリーミングモードが無効であることを意味します。
protected int responseCode
int
です。
protected String responseMessage
protected boolean instanceFollowRedirects
true
の場合、プロトコルは自動的にリダイレクトに従います。false
の場合、プロトコルは自動的にはリダイレクトに従いません。
このフィールドは、setInstanceFollowRedirects
メソッドによって設定されます。その値は、getInstanceFollowRedirects
メソッドによって返されます。
HttpURLConnection 作成時、デフォルト値は static followRedirects の値に基づきます。
setInstanceFollowRedirects(boolean)
,
getInstanceFollowRedirects()
,
setFollowRedirects(boolean)
public static final int HTTP_OK
public static final int HTTP_CREATED
public static final int HTTP_ACCEPTED
public static final int HTTP_NOT_AUTHORITATIVE
public static final int HTTP_NO_CONTENT
public static final int HTTP_RESET
public static final int HTTP_PARTIAL
public static final int HTTP_MULT_CHOICE
public static final int HTTP_MOVED_PERM
public static final int HTTP_MOVED_TEMP
public static final int HTTP_SEE_OTHER
public static final int HTTP_NOT_MODIFIED
public static final int HTTP_USE_PROXY
public static final int HTTP_BAD_REQUEST
public static final int HTTP_UNAUTHORIZED
public static final int HTTP_PAYMENT_REQUIRED
public static final int HTTP_FORBIDDEN
public static final int HTTP_NOT_FOUND
public static final int HTTP_BAD_METHOD
public static final int HTTP_NOT_ACCEPTABLE
public static final int HTTP_PROXY_AUTH
public static final int HTTP_CLIENT_TIMEOUT
public static final int HTTP_CONFLICT
public static final int HTTP_GONE
public static final int HTTP_LENGTH_REQUIRED
public static final int HTTP_PRECON_FAILED
public static final int HTTP_ENTITY_TOO_LARGE
public static final int HTTP_REQ_TOO_LONG
public static final int HTTP_UNSUPPORTED_TYPE
@Deprecated public static final int HTTP_SERVER_ERROR
public static final int HTTP_INTERNAL_ERROR
public static final int HTTP_NOT_IMPLEMENTED
public static final int HTTP_BAD_GATEWAY
public static final int HTTP_UNAVAILABLE
public static final int HTTP_GATEWAY_TIMEOUT
public static final int HTTP_VERSION
コンストラクタの詳細 |
---|
protected HttpURLConnection(URL u)
u
- URLメソッドの詳細 |
---|
public String getHeaderFieldKey(int n)
n
番目のヘッダフィールドのキーを返します。実装によっては、0
番目のヘッダーフィールドを特別なものとして、つまり HTTP サーバーから返された状態行として扱うことがあります。その場合、getHeaderField(0)
はその状態行を返しますが、getHeaderFieldKey(0)
は null を返します。
URLConnection
内の getHeaderFieldKey
n
- インデックス。ここで n は 0 以上
n
番目のヘッダーフィールドのキー。キーが存在しない場合は null
public void setFixedLengthStreamingMode(int contentLength)
アプリケーションが、指定されたコンテンツ長を超えるデータを書き込もうとしたり、指定された量の書き込みを終える前に OutputStream をクローズしたりすると、例外がスローされます。
出力ストリーム処理を有効にした場合、認証とリダイレクションを自動的に処理することはできません。認証またはリダイレクションが必要とされる場合には、応答の読み取り時に HttpRetryException がスローされます。この例外を調べれば、エラーの詳細がわかります。
このメソッドは、URLConnection の接続前に呼び出してください。
contentLength
- OutputStream に書き込まれるバイト数
IllegalStateException
- URLConnection がすでに接続されている場合、または別のストリーミングモードがすでに有効になっている場合
IllegalArgumentException
- 0 より小さいコンテンツ長が指定された場合setChunkedStreamingMode(int)
public void setChunkedStreamingMode(int chunklen)
出力ストリーム処理を有効にした場合、認証とリダイレクションを自動的に処理することはできません。認証またはリダイレクションが必要とされる場合には、応答の読み取り時に HttpRetryException がスローされます。この例外を調べれば、エラーの詳細がわかります。
このメソッドは、URLConnection の接続前に呼び出してください。
chunklen
- 各チャンク内に書き込むバイト数。chunklen が 0 以下の場合はデフォルト値が使用される
IllegalStateException
- URLConnection がすでに接続されている場合、または別のストリーミングモードがすでに有効になっている場合setFixedLengthStreamingMode(int)
public String getHeaderField(int n)
n
番目のヘッダーフィールドの値を返します。実装によっては、0
番目のヘッダーフィールドを特別なものとして、つまり HTTP サーバーから返された状態行として扱うことがあります。
このメソッドと getHeaderFieldKey
メソッドを組み合わせて使用すると、メッセージ内のすべてのヘッダーを繰り返し処理することができます。
URLConnection
内の getHeaderField
n
- インデックス。ここで n は 0 以上
n
番目のヘッダーフィールドの値。値が存在しない場合は null
getHeaderFieldKey(int)
public static void setFollowRedirects(boolean set)
セキュリティーマネージャーが存在する場合、このメソッドは最初にセキュリティーマネージャーの checkSetFactory
メソッドを呼び出すことにより、この操作が許可されていることを確認します。この結果、SecurityException がスローされることがあります。
set
- HTTP リダイレクトに従うかどうかを示す boolean
SecurityException
- セキュリティーマネージャーが存在し、その checkSetFactory
メソッドがこの操作を許可しない場合SecurityManager.checkSetFactory()
,
getFollowRedirects()
public static boolean getFollowRedirects()
boolean
を返します。
true
、そうでない場合は falsesetFollowRedirects(boolean)
public void setInstanceFollowRedirects(boolean followRedirects)
HttpURLConnection
インスタンスで自動に従うかどうかを設定します。
デフォルトが true である、followRedirects からのデフォルト値
followRedirects
- HTTP リダイレクトに従うかどうかを示す boolean
instanceFollowRedirects
,
getInstanceFollowRedirects()
public boolean getInstanceFollowRedirects()
HttpURLConnection
の instanceFollowRedirects
フィールド値を返します。
HttpURLConnection
の instanceFollowRedirects
フィールド値instanceFollowRedirects
,
setInstanceFollowRedirects(boolean)
public void setRequestMethod(String method) throws ProtocolException
method
- HTTP メソッド
ProtocolException
- メソッドをリセットできない場合、または要求されたメソッドが HTTP で有効でない場合getRequestMethod()
public String getRequestMethod()
setRequestMethod(java.lang.String)
public int getResponseCode() throws IOException
HTTP/1.0 200 OK HTTP/1.0 401 Unauthorizedこれは、200 と 401 をそれぞれ返します。応答からコードを認識できない場合 (つまり、その応答が有効な HTTP ではない場合)、-1 を返します。
IOException
- サーバーへの接続でエラーが発生した場合public String getResponseMessage() throws IOException
HTTP/1.0 200 OK HTTP/1.0 404 Not Found文字列「OK」と「Not Found」をそれぞれ抽出します。応答から何も認識できなかった場合 (結果が有効な HTTP ではなかった場合)、null を返します。
null
IOException
- サーバーへの接続でエラーが発生した場合public long getHeaderFieldDate(String name, long Default)
URLConnection
の記述:
この形式の getHeaderField
が存在しているのは、一部の接続タイプ (http-ng
など) が事前に構文解析されたヘッダーを持つからです。そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。
URLConnection
内の getHeaderFieldDate
name
- ヘッダフィールドの名前Default
- デフォルト値
Default
引数の値が返されるpublic abstract void disconnect()
public abstract boolean usingProxy()
public Permission getPermission() throws IOException
URLConnection
の記述: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
内の getPermission
IOException
- アクセス権の処理にネットワークまたはファイル入出力が必要なときに、処理中に例外が発生した場合public InputStream getErrorStream()
このメソッドを呼び出しても、接続は開始されません。接続が確立されなかった場合、接続中にサーバーでエラーが発生しなかった場合、またはサーバーでエラーが発生したがエラーデータは送信されなかった場合には、このメソッドは null を返します。これはデフォルトの設定です。
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。