Spec-Zone .ru
спецификации, руководства, описания, API
|
public class CookieManager extends CookieHandler
CookieHandler
, который разделяет хранение cookie от окружения политики принимающие и отклоняющие cookie. CookieManager инициализируется с a CookieStore
который управляет хранением, и a CookiePolicy
объект, который делает стратегические решения о принятии/отклонении cookie. Управление cookie HTTP в java.net пакете похоже:
use CookieHandler <------- HttpURLConnection ^ | impl | use CookieManager -------> CookiePolicy | use |--------> HttpCookie | ^ | | use | use | |--------> CookieStore ^ | impl | Internal in-memory implementation
- CookieHandler в ядре управления cookie. Пользователь может вызвать CookieHandler.setDefault, чтобы установить конкретную реализацию CookieHanlder, которая будет использоваться.
- CookiePolicy.shouldAccept вызовет CookieManager.put, чтобы видеть, должен ли один cookie быть принят и помещен в хранилище cookie. Пользователь может использовать любой из трех предопределенных CookiePolicy, а именно, ACCEPT_ALL, ACCEPT_NONE и ACCEPT_ORIGINAL_SERVER, или пользователь может определить свою собственную реализацию CookiePolicy и сказать CookieManager использовать это.
- CookieStore является местом, где любой признал, что cookie HTTP сохранен в. Если не определенный когда создающийся, экземпляр CookieManager будет использовать внутреннюю реализацию в памяти. Или пользователь может реализации один и говорить CookieManager использовать это.
- В настоящий момент только CookieStore.add (URI, HttpCookie) и CookieStore.get (URI) используются CookieManager. Другие для законченности и могли бы быть необходимы более сложной реализации CookieStore, например, NetscapeCookieSotre.
Есть различные способы, которыми пользователь может поднять трубку свое собственное поведение управления cookie HTTP, например.
- Используйте CookieHandler.setDefault, чтобы установить совершенно новое
CookieHandler
реализация- Позвольте CookieManager быть значением по умолчанию
CookieHandler
реализация, но собственный пользователь реализацииCookieStore
иCookiePolicy
и скажите CookieManager по умолчанию использовать их:// this should be done at the beginning of an HTTP session CookieHandler.setDefault(new CookieManager(new MyCookieStore(), new MyCookiePolicy()));- Позвольте CookieManager быть значением по умолчанию
CookieHandler
реализация, но использование настраиваетсяCookiePolicy
:// this should be done at the beginning of an HTTP session CookieHandler.setDefault(new CookieManager()); // this can be done at any point of an HTTP session ((CookieManager)CookieHandler.getDefault()).setCookiePolicy(new MyCookiePolicy());
Реализация соответствует
CookiePolicy
Конструктор и Описание |
---|
CookieManager()
Создайте нового менеджера по cookie.
|
CookieManager(CookieStore store, CookiePolicy cookiePolicy)
Создайте нового менеджера по cookie с указанным хранилищем cookie и политикой cookie.
|
Модификатор и Тип | Метод и Описание |
---|---|
Map<String,List<String>> |
get(URI uri, Map<String,List<String>> requestHeaders)
Получает все применимые cookie от кэша cookie для указанных туров в заголовке запроса.
|
CookieStore |
getCookieStore()
Получать текущее хранилище cookie.
|
void |
put(URI uri, Map<String,List<String>> responseHeaders)
Наборы все применимые cookie, примерами являются поля заголовка ответа, которые являются именованным-набором-Cookie2, существующим в заголовках ответа в кэш cookie.
|
void |
setCookiePolicy(CookiePolicy cookiePolicy)
Установить политику cookie этого менеджера по cookie.
|
getDefault, setDefault
public CookieManager()
Этот конструктор создаст нового менеджера по cookie с хранилищем cookie по умолчанию и примет политику. Эффект - то же самое как CookieManager(null, null).
public CookieManager(CookieStore store, CookiePolicy cookiePolicy)
store
- CookieStore, который будет использоваться менеджером по cookie. если null, менеджер по cookie будет использовать по умолчанию, который является CookieStore в памяти implmentation.cookiePolicy
- экземпляр CookiePolicy, который будет использоваться менеджером по cookie в качестве обратного вызова политики. если null, ACCEPT_ORIGINAL_SERVER будет использоваться.public void setCookiePolicy(CookiePolicy cookiePolicy)
У экземпляра CookieManager будет политика cookie ACCEPT_ORIGINAL_SERVER по умолчанию. Пользователи всегда могут вызывать этот метод, чтобы установить другую политику cookie.
cookiePolicy
- политика cookie. Может быть null, который не имеет никаких эффектов на текущую политику cookie.public CookieStore getCookieStore()
public Map<String,List<String>> get(URI uri, Map<String,List<String>> requestHeaders) throws IOException
CookieHandler
URI
переданный, поскольку параметр определяет намеченное использование для cookie. В особенности схема должна отразиться, будут ли cookie отправлены по http, https или использоваться в другом контексте как javascript. Часть узла должна отразить или место назначения cookie или их источник в случае javascript.
Это до реализации, чтобы принять во внимание URI
и атрибуты cookie и настройки безопасности, чтобы определить, которые должны быть возвращены.
Разработчики протокола HTTP должны удостовериться, что этот метод вызывают после того, как все заголовки запроса, связанные с выбором cookie, добавляются, и прежде, чем запрос будет отправлен.
get
в классе CookieHandler
uri
- a URI
представление намеченного использования для cookierequestHeaders
- Карта от имен полей заголовка запроса до списков значений полей, представляющих текущие заголовки запросаIOException
- если ошибка ввода-вывода происходитCookieHandler.put(URI, Map)
public void put(URI uri, Map<String,List<String>> responseHeaders) throws IOException
CookieHandler
put
в классе CookieHandler
uri
- a URI
откуда cookie, прибывшиеresponseHeaders
- неизменная карта от имен полей до списков значений полей, представляющих поля заголовка ответа, возвратиласьIOException
- если ошибка ввода-вывода происходитCookieHandler.get(URI, Map)
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.