CookiePolicy in Java

java.net.CookiePolicy

CookiePolicy implementations decide which cookies should be acceptedand which should be rejected. Three pre-defined policy implementationsare provided, namely ACCEPT_ALL, ACCEPT_NONE and ACCEPT_ORIGINAL_SERVER.

Declaration

public interface CookiePolicy {

    public static final CookiePolicy ACCEPT_ALL = new CookiePolicy() {
        public boolean shouldAccept(URI uri, HttpCookie cookie) {
            return true;
        }
    };

    public static final CookiePolicy ACCEPT_NONE = new CookiePolicy() {
        public boolean shouldAccept(URI uri, HttpCookie cookie) {
            return false;
        }
    };

    public static final CookiePolicy ACCEPT_ORIGINAL_SERVER = new CookiePolicy() {
        public boolean shouldAccept(URI uri, HttpCookie cookie) {
            if (uri == null || cookie == null)
                return false;
            return HttpCookie.domainMatches(cookie.getDomain(), uri.getHost());
        }
    };

    public boolean shouldAccept(URI uri, HttpCookie cookie);
}

Methods

1. shouldAccept(URI uri, HttpCookie cookie)

boolean java.net.CookiePolicy.shouldAccept(URI uri, HttpCookie cookie)

Will be called to see whether or not this cookie should be accepted.

Parameters: Two parameters are required for this method.

URI: the URI to consult accept policy with.

cookie: the HttpCookie object in question.

Returns: true if this cookie should be accepted;otherwise, false.

Approach

Java

package com.CookiePolicy;

import java.net.CookiePolicy;
import java.net.HttpCookie;
import java.net.URI;
import java.net.URISyntaxException;

public class CookiePolicy1 {
    public static void main(String[] args) throws URISyntaxException {

        CookiePolicy cookiePolicy = CookiePolicy.ACCEPT_ALL;

        URI uri = new URI("https://beingcodeexpert.blogspot.com/");
        HttpCookie httpCookie = new HttpCookie("domain", "value");
        System.out.println(cookiePolicy.shouldAccept(uri, httpCookie));
    }
}

Output:

true


2. ACCEPT_ALL

CookiePolicy java.net.CookiePolicy.ACCEPT_ALL

One pre-defined policy which accepts all cookies.

3. ACCEPT_NONE

CookiePolicy java.net.CookiePolicy.ACCEPT_NONE

One pre-defined policy which accepts no cookies.

4. ACCEPT_ORIGINAL_SERVER

CookiePolicy java.net.CookiePolicy.ACCEPT_ORIGINAL_SERVER

One pre-defined policy which only accepts cookies from original server.

Approach

Java

package com.CookiePolicy;

import java.net.CookiePolicy;
import java.net.HttpCookie;
import java.net.URI;
import java.net.URISyntaxException;

public class CookiePolicy1 {
    public static void main(String[] args)
throws URISyntaxException {

        System.out.println(CookiePolicy.ACCEPT_ALL);
        System.out.println(CookiePolicy.ACCEPT_NONE);
        System.out.println(CookiePolicy.ACCEPT_ORIGINAL_SERVER);

        CookiePolicy cookiePolicy = CookiePolicy.ACCEPT_ALL;

        URI uri = new URI("https://beingcodeexpert.blogspot.com/");
        HttpCookie httpCookie = new HttpCookie("domain", "value");
        System.out.println(cookiePolicy.shouldAccept(uri, httpCookie));
    }
}

Output:

java.net.CookiePolicy$1@2401f4c3 java.net.CookiePolicy$2@41a4555e java.net.CookiePolicy$3@3830f1c0 true


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