|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.net.URLConnection
java.net.HttpURLConnection
public abstract class HttpURLConnection
HTTP 特有の機能をサポートする URLConnection です。詳細は、「HTTP - Hypertext Transfer Protocol」を参照してください。
各 HttpURLConnection インスタンスを使用して単一の要求を作成しますが、HTTP サーバへのネットワーク接続はほかのインスタンスと透過的に共有されることがあります。要求後、HttpURLConnection の InputStream または OutputStream で close() メソッドを呼び出すと、このインスタンスに関連したネットワークリソースが解放されますが、共有持続接続に影響はありません。disconnect() メソッドを呼び出すと、持続接続がその時アイドル状態であればソケットが閉じることがあります。
disconnect()| フィールドの概要 | |
|---|---|
protected int |
chunkLength
出力にチャンクされたエンコーディングのストリーミングモードを使用する場合のチャンクの長さです。 |
protected int |
fixedContentLength
固定長のストリーミングモードを使用する場合の固定コンテンツ長です。 |
static int |
HTTP_ACCEPTED
HTTP ステータスコード 202: 許可されました。 |
static int |
HTTP_BAD_GATEWAY
HTTP ステータスコード 502: 誤ったゲートウェイです。 |
static int |
HTTP_BAD_METHOD
HTTP ステータスコード 405: メソッドは許可されません。 |
static int |
HTTP_BAD_REQUEST
HTTP ステータスコード 400: 不当な要求です。 |
static int |
HTTP_CLIENT_TIMEOUT
HTTP ステータスコード 408: 要求が時間切れです。 |
static int |
HTTP_CONFLICT
HTTP ステータスコード 409: 重複しています。 |
static int |
HTTP_CREATED
HTTP ステータスコード 201: 作成されました。 |
static int |
HTTP_ENTITY_TOO_LARGE
HTTP ステータスコード 413: 要求エンティティが長すぎます。 |
static int |
HTTP_FORBIDDEN
HTTP ステータスコード 403: 禁止されています。 |
static int |
HTTP_GATEWAY_TIMEOUT
HTTP ステータスコード 504: ゲートウェイが時間切れです。 |
static int |
HTTP_GONE
HTTP ステータスコード 410: 存在しません。 |
static int |
HTTP_INTERNAL_ERROR
HTTP ステータスコード 500: 内部サーバエラーです。 |
static int |
HTTP_LENGTH_REQUIRED
HTTP ステータスコード 411: 長さが必要です。 |
static int |
HTTP_MOVED_PERM
HTTP ステータスコード 301: 永続的に移動されました。 |
static int |
HTTP_MOVED_TEMP
HTTP ステータスコード 302: 一時的に切り替えます。 |
static int |
HTTP_MULT_CHOICE
HTTP ステータスコード 300: 複数選択されています。 |
static int |
HTTP_NO_CONTENT
HTTP ステータスコード 204: コンテンツがありません。 |
static int |
HTTP_NOT_ACCEPTABLE
HTTP ステータスコード 406: 許容されません。 |
static int |
HTTP_NOT_AUTHORITATIVE
HTTP ステータスコード 203: 不当な情報です。 |
static int |
HTTP_NOT_FOUND
HTTP ステータスコード 404: 見つかりませんでした。 |
static int |
HTTP_NOT_IMPLEMENTED
HTTP ステータスコード 501: 実装されていません。 |
static int |
HTTP_NOT_MODIFIED
HTTP ステータスコード 304: 修正されませんでした。 |
static int |
HTTP_OK
HTTP ステータスコード 200: OK です。 |
static int |
HTTP_PARTIAL
HTTP ステータスコード 206: 部分的なコンテンツです。 |
static int |
HTTP_PAYMENT_REQUIRED
HTTP ステータスコード 402: 支払いが必要です。 |
static int |
HTTP_PRECON_FAILED
HTTP ステータスコード 412: 前提条件が正しくありません。 |
static int |
HTTP_PROXY_AUTH
HTTP ステータスコード 407: プロキシの認証が必要です。 |
static int |
HTTP_REQ_TOO_LONG
HTTP ステータスコード 414: 要求 URL が長すぎます。 |
static int |
HTTP_RESET
HTTP ステータスコード 205: コンテンツをリセットします。 |
static int |
HTTP_SEE_OTHER
HTTP ステータスコード 303: ほかを参照してください。 |
static int |
HTTP_SERVER_ERROR
推奨されていません。 間違ったフィールドであり、存在するべきではありせん。 |
static int |
HTTP_UNAUTHORIZED
HTTP ステータスコード 401: 認証されませんでした。 |
static int |
HTTP_UNAVAILABLE
HTTP ステータスコード 503: サービスが利用できません。 |
static int |
HTTP_UNSUPPORTED_TYPE
HTTP ステータスコード 415: サポートされないメディア型です。 |
static int |
HTTP_USE_PROXY
HTTP ステータスコード 305: プロキシを使用してください。 |
static int |
HTTP_VERSION
HTTP ステータスコード 505: HTTP バージョンがサポートされていません。 |
protected boolean |
instanceFollowRedirects
プロトコルが自動的にリダイレクトする場合は true、自動的にリダイレクトしない場合は false です。 |
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 リダイレクト (応答コード 300 番台の要求) に自動的に従うかどうかを設定します。 |
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 内の getHeaderFieldKeyn - インデックス (n >=0)
n 番目のヘッダフィールドのキー。キーが存在しない場合は nullpublic 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 内の getHeaderFieldn - インデックス (n>=0)
n 番目のヘッダフィールドの値。値が存在しない場合は nullgetHeaderFieldKey(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 リダイレクトを行うかどうかを示す booleaninstanceFollowRedirects,
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 内の getHeaderFieldDatename - ヘッダフィールドの名前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 つの目的に使います。URLConnections により取得したオブジェクトのキャッシュの保護、および受け側が特定の URL を知る権利の確認です。前者の場合、アクセス権はオブジェクトを取得した「あと」で取得されます。たとえば HTTP 接続では、データの最終的な入手先となるホストに接続するためのアクセス権を表します。後者の場合、アクセス権は接続の「前」に取得およびテストされます。
URLConnection 内の getPermissionIOException - アクセス権の処理にネットワークまたはファイル入出力が必要なときに、処理中に例外が発生した場合public InputStream getErrorStream()
このメソッドは、接続を開始しません。接続が確立されていない場合、接続中にサーバでエラーが発生しなかった場合、あるいはサーバでエラーが発生してもエラーのデータが送られなかった場合には、このメソッドは null を返します。これがデフォルトの動作です。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。