CookieHandler in Java

java.net.CookieHandler

A CookieHandler object provides a callback mechanism to hook up a HTTP state management policy implementation into the HTTP protocol handler. The HTTP state management mechanism specifies a way to create a stateful session with HTTP requests and responses.

A system-wide CookieHandler to be used by the HTTP URL stream protocol handler can be registered by doing a CookieHandler.setDefault(CookieHandler). The currently registeredCookieHandler can be retrieved by callingCookieHandler.getDefault().

Declaration

public abstract class CookieHandler {

    private static CookieHandler cookieHandler;

    public static synchronized CookieHandler getDefault() {
        SecurityManager sm = System.getSecurityManager();
        if (sm != null) {
            sm.checkPermission(SecurityConstants.GET_COOKIEHANDLER_PERMISSION);
        }
        return cookieHandler;
    }

    public static synchronized void setDefault(CookieHandler cHandler) {
        SecurityManager sm = System.getSecurityManager();
        if (sm != null) {
            sm.checkPermission(SecurityConstants.SET_COOKIEHANDLER_PERMISSION);
        }
        cookieHandler = cHandler;
    }

    public abstract Map<String, List<String>> get(URI uri, Map<String, List<String>> requestHeaders) throws IOException;

    public abstract void put(URI uri, Map<String, List<String>> responseHeaders) throws IOException;
}

Methods.

1. cookieHandler

CookieHandler java.net.CookieHandler.cookieHandler

The system-wide cookie handler that will apply cookies to the request headers and manage cookies from the response headers.


2. getDefault()

CookieHandler java.net.CookieHandler.getDefault()

Gets the system-wide cookie handler.

Returns: the system-wide cookie handler; A null return means there is no system-wide cookie handler currently set.

Throws:

SecurityException - If a security manager has been installed and it denies NetPermission("getCookieHandler").


3. setDefault(CookieHandler cHandler)

void java.net.CookieHandler.setDefault(CookieHandler cHandler)

Sets (or un sets) the system-wide cookie handler.Note: non-standard HTTP protocol handlers may ignore this setting.

Parameters: cHandler The HTTP cookie handler, or null to unset.

Throws:

SecurityException - If a security manager has been installed and it denies NetPermission("setCookieHandler").


4. get(URI uri, Map<String, List<String>> requestHeaders)

Map<String, List<String>> java.net.CookieHandler.get(URI uri, Map<String, List<String>> requestHeaders) throws IOException

Gets all the applicable cookies from a cookie cache for the specified uri in the request header.

The URI passed as an argument specifies the intended use for the cookies. In particular the scheme should reflect whether the cookies will be sent over http, https or used in another context like javascript.The host part should reflect either the destination of the cookies or their origin in the case of javascript.

It is up to the implementation to take into account the URI and the cookies attributes and security settings to determine which ones should be returned.

HTTP protocol implementers should make sure that this method is called after all request headers related to choosing cookies are added, and before the request is sent.

Parameters: Two parameters are required for this method.

uri: a URI representing the intended use for the cookies.

requestHeaders: - a Map from request header field names to lists of  field values representing the current request headers.

Returns: an immutable map  from state management headers, with field names "Cookie" or "Cookie2" to a list of cookies containing state information.

Throws:

1. IOException - if an I/O error occurs.

2. IllegalArgumentException - if either argument is null.


5. put(URI uri, Map<String, List<String>>  responseHeaders)

void java.net.CookieHandler.put(URI uri, Map<String, List<String>>  responseHeaders) throws IOException

Sets all the applicable cookies, examples are response header fields that are named Set-Cookie2, present in the response headers into a cookie cache.

Parameters: Two parameters are required for this method.

uri: a URI where the cookies come from.

responseHeaders: an immutable map from field names to lists of field values representing the response header fields returned.

Throws:

1. IOException - if an I/O error occurs.

2. IllegalArgumentException - if either argument is null.


Some other classes/interfaces of java.net

AuthenticatorThe class Authenticator represents an object that knows how to obtain authentication for a network connection.

BindExceptionSignals that an error occurred while attempting to bind a socket to a local address and port. 

CacheRequestRepresents channels for storing resources in the ResponseCache.

CacheResponseRepresent channels for retrieving resources from the ResponseCache.

ConnectExceptionSignals that an error occurred while attempting to connect a socket to a remote address and port.

ContentHandlerThe abstract class ContentHandler is the superclass of all classes that read an Object from a URLConnection.

ContentHandlerFactoryThis interface defines a factory for content handlers. Implementing this interface should map a MIME type into an instance of ContentHandler.

CookieHandlerA CookieHandler object provides a callback mechanism to hook up an HTTP state management policy implementation into the HTTP protocol handler.

CookieManagerCookieManager provides a concrete implementation of CookieHandler, which separates the storage of cookies from the policy surrounding accepting and rejecting cookies. 

CookiePolicyCookiePolicy implementations decide which cookies should be accepted and which should be rejected.

CookieStoreA CookieStore object represents storage for cookies. Can store and retrieve cookies.

DatagramPacketThis class represents a datagram packet.

No comments:

Post a Comment