public abstract class CookieHandler extends Object
HTTPプロトコル・ハンドラが使用すべきシステム全体のCookieHandlerを登録するには、CookieHandler.setDefault(CookieHandler)を実行します。現在登録されているCookieHandlerを取得するには、CookieHandler.getDefault()を呼び出します。HTTP状態管理の詳細については、RFC 2965: HTTP State Management Mechanismを参照してください。
コンストラクタと説明 |
---|
CookieHandler() |
修飾子と型 | メソッドと説明 |
---|---|
abstract Map<String,List<String>> |
get(URI uri, Map<String,List<String>> requestHeaders)
要求ヘッダー内に指定されたURIのCookieキャッシュから適用可能なすべてのCookieを取得します。
|
static CookieHandler |
getDefault()
システム全体のCookieハンドラを取得します。
|
abstract void |
put(URI uri, Map<String,List<String>> responseHeaders)
応答ヘッダー内に存在するSet-Cookie2という名前の応答ヘッダー・フィールドなど、適用可能なすべてのCookieをCookieキャッシュ内に設定します。
|
static void |
setDefault(CookieHandler cHandler)
システム全体のCookieハンドラを設定(または設定解除)します。
|
public static CookieHandler getDefault()
SecurityException
- セキュリティ・マネージャがインストールされていて、それがNetPermission
(「getCookieHandler」)
を拒否した場合setDefault(CookieHandler)
public static void setDefault(CookieHandler cHandler)
cHandler
- HTTP Cookieハンドラ。設定解除する場合はnull
。SecurityException
- セキュリティ・マネージャがインストールされていて、それがNetPermission
(「setCookieHandler」)
を拒否した場合getDefault()
public abstract Map<String,List<String>> get(URI uri, Map<String,List<String>> requestHeaders) throws IOException
引数として渡されるURI
は、Cookieの使用目的を指定します。たとえば、スキームにはCookieがhttpまたはhttpsのどちらで送信されるのかや、Javascriptなどの別のコンテキストで使用されるのかを反映するべきです。ホスト部分にはCookieの転送先またはJavascriptの場合はそれらのオリジンを反映するべきです。
どれを返すかを決定する際に、URI
およびCookieの属性とセキュリティ設定を考慮することは、実装に任されています。
HTTPプロトコルの実装者は、Cookieの選択に関係するすべての要求ヘッダーが追加されてから要求が送信されるまでの間に、必ずこのメソッドが呼び出されるようにしてください。
uri
- Cookieの使用目的を表すURI
requestHeaders
- 現在の要求ヘッダーを表す、要求ヘッダー・フィールド名からフィールド値のリストへのマップIOException
- 入出力エラーが発生した場合IllegalArgumentException
- どちらかの引数がnullの場合put(URI, Map)
public abstract void put(URI uri, Map<String,List<String>> responseHeaders) throws IOException
uri
- Cookieの生成元のURI
responseHeaders
- 返された応答ヘッダー・フィールドを表す、フィールド名からフィールド値のリストへの不変のマップIOException
- 入出力エラーが発生した場合IllegalArgumentException
- どちらかの引数がnullの場合get(URI, Map)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.