to top
Android APIs
public class

CookieManager

extends CookieHandler
java.lang.Object
   ↳ java.net.CookieHandler
     ↳ java.net.CookieManager

Class Overview

This class provides a concrete implementation of CookieHandler. It separates the storage of cookies from the policy which decides to accept or deny cookies. The constructor can have two arguments: a CookieStore and a CookiePolicy. The former is in charge of cookie storage and the latter makes decision on acceptance/rejection. CookieHandler is in the center of cookie management. User can make use of CookieHandler.setDefault to set a CookieManager as the default one used. CookieManager.put uses CookiePolicy.shouldAccept to decide whether to put some cookies into a cookie store. Three built-in CookiePolicy is defined: ACCEPT_ALL, ACCEPT_NONE and ACCEPT_ORIGINAL_SERVER. Users can also customize the policy by implementing CookiePolicy. Any accepted HTTP cookie is stored in CookieStore and users can also have their own implementation. Up to now, Only add(URI, HttpCookie) and get(URI) are used by CookieManager. Other methods in this class may probably be used in a more complicated implementation. There are many ways to customize user's own HTTP cookie management: First, call CookieHandler.setDefault to set a new CookieHandler implementation. Second, call CookieHandler.getDefault to use CookieManager. The CookiePolicy and CookieStore used are customized. Third, use the customized CookiePolicy and the CookieStore. This implementation conforms to RFC 2965 section 3.3.

Summary

Public Constructors
CookieManager()
Constructs a new cookie manager.
CookieManager(CookieStore store, CookiePolicy cookiePolicy)
Constructs a new cookie manager using a specified cookie store and a cookie policy.
Public Methods
Map<StringList<String>> get(URI uri, Map<StringList<String>> requestHeaders)
Searches and gets all cookies in the cache by the specified uri in the request header.
CookieStore getCookieStore()
Gets current cookie store.
void put(URI uri, Map<StringList<String>> responseHeaders)
Sets cookies according to uri and responseHeaders
void setCookiePolicy(CookiePolicy cookiePolicy)
Sets the cookie policy of this cookie manager.
[Expand]
Inherited Methods
From class java.net.CookieHandler
From class java.lang.Object

Public Constructors

public CookieManager ()

Since: API Level 9

Constructs a new cookie manager. The invocation of this constructor is the same as the invocation of CookieManager(null, null).

public CookieManager (CookieStore store, CookiePolicy cookiePolicy)

Since: API Level 9

Constructs a new cookie manager using a specified cookie store and a cookie policy.

Parameters
store a CookieStore to be used by cookie manager. The manager will use a default one if the arg is null.
cookiePolicy a CookiePolicy to be used by cookie manager ACCEPT_ORIGINAL_SERVER will be used if the arg is null.

Public Methods

public Map<StringList<String>> get (URI uri, Map<StringList<String>> requestHeaders)

Since: API Level 9

Searches and gets all cookies in the cache by the specified uri in the request header.

Parameters
uri the specified uri to search for
requestHeaders a list of request headers
Returns
  • a map that record all such cookies, the map is unchangeable
Throws
IOException if some error of I/O operation occurs

public CookieStore getCookieStore ()

Since: API Level 9

Gets current cookie store.

Returns
  • the cookie store currently used by cookie manager.

public void put (URI uri, Map<StringList<String>> responseHeaders)

Since: API Level 9

Sets cookies according to uri and responseHeaders

Parameters
uri the specified uri
responseHeaders a list of request headers
Throws
IOException if some error of I/O operation occurs

public void setCookiePolicy (CookiePolicy cookiePolicy)

Since: API Level 9

Sets the cookie policy of this cookie manager. ACCEPT_ORIGINAL_SERVER is the default policy for CookieManager.

Parameters
cookiePolicy the cookie policy. if null, the original policy will not be changed.