Clase java.net.CookieManager en Java

La clase CookieManager proporciona una implementación precisa de CookieHandler . Esto separa el almacenamiento de cookies de la política de aceptación y rechazo de cookies. Un CookieManager se inicializa con un CookieStore y una CookiePolicy. CookieStore administra el almacenamiento y el objeto CookiePolicy toma decisiones de política sobre la aceptación/rechazo de cookies.

Sintaxis:

public CookieManager()
// Create a new cookie manager
public CookieManager(CookieStore store, CookiePolicy cookiePolicy)
// Create a new cookie manager 
// with specified cookie store and cookie policy

Los métodos dentro de la clase CookieManager se muestran a continuación en la tabla 

Método Acción realizada 
 getCookieStore() Este método recuperará el almacén de cookies actual.
setCookiePolicy(CookiePolicy política de cookies) Este método establecerá la política de cookies de este administrador de cookies.
get(URI uri, Map<String, List<String>> requestHeaders) Este método obtendrá todas las cookies aplicables de un caché de cookies para el URI especificado en el encabezado de la solicitud.
put(URI uri, Map<String, List<String>> encabezados de respuesta) Este método establecerá todas las cookies aplicables.

Discutamos los cuatro métodos de esta clase individualmente para obtener una mejor comprensión. Aquí vamos:

Método 1: 

El método getCookieStore() recupera el almacén de cookies actual y devuelve el almacén de cookies utilizado actualmente por el administrador de cookies.

Sintaxis:

public CookieStore getCookieStore() ;

Método 2: 

El método setCookiePolicy() establece la política de cookies del administrador de cookies. Una instancia de CookieManager tendrá la política de cookies ACCEPT_ORIGINAL_SERVER de forma predeterminada. Se puede llamar a este método para establecer otra política de cookies.

Sintaxis:

public void setCookiePolicy(CookiePolicy cookiePolicy) ;

Método 3: 

El método get() obtiene todas las cookies aplicables de un caché de cookies para el URI requerido dentro del encabezado de la solicitud. Depende de la implementación requerir bajo consideración la URI y, por lo tanto, los atributos de las cookies y la configuración de seguridad para determinar cuál de ellos debe devolverse. Los implementadores del protocolo HTTP deben confirmar que se llama a este método después de agregar todos los encabezados de solicitud asociados con la elección de cookies y antes de enviar la solicitud.

Sintaxis:

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

Parámetros: el URI pasado como argumento especifica el uso previsto para las cookies. En particular, el esquema debe reflejar si las cookies se enviarán a través de HTTP, HTTPS o se utilizarán en otro contexto como JavaScript.

Método 4: 

El método put() establece todas las cookies aplicables, por ejemplo, los campos de encabezado de respuesta que se denominan Set-Cookie2, presentes en los encabezados de respuesta en un caché de cookies.

Sintaxis:

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

Implementación:

Ejemplo

Java

// Java Program to illustrate getCookieStore()method of
// java.net.CookieManager Class
 
// java.net package is imported
// for network related things
import java.net.*;
// Importing List class from
// java.util pcckage
import java.util.List;
 
// Class
// To set CookiePolicy in JavaCookieManager Class
public class GFG {
 
    // Main driver method
    public static void main(String args[]) throws Exception
    {
 
        // Random URI as input
        String uri = "https://www.geeksforgeeks.org/";
 
        // Creating an object of Cookie Manager Class
 
        // Creating an object of CookieManager Class
        CookieManager cookieManager = new CookieManager();
 
        //  Setting and unsetting system wide Cookie Handler
        // using the setDefault() method
        CookieHandler.setDefault(cookieManager);
 
        // Pre-defined policy that accepts cookies
        // from original server.
        CookiePolicy cookiePolicy
            = CookiePolicy.ACCEPT_ORIGINAL_SERVER;
 
        // Setting the cookie policy of the cookieManager
        // class using the setCookiePolicy() method
        cookieManager.setCookiePolicy(cookiePolicy);
 
        // Now, creating an object of URL class
        URL url = new URL(uri);
 
        // Establishing the connection over the object
        // of URLConnection class
        URLConnection connection = url.openConnection();
 
        // Receiving the response
        connection.getContent();
 
        // Lastly, creating object of CookieStore to
        // retrieve current cookie store instance
        CookieStore cookieStore
            = cookieManager.getCookieStore();
 
        // For this, creating an List of object type
        // HttpCookie
        List<HttpCookie> cookieList
            = cookieStore.getCookies();
 
        // Iterating ove the List of objects
        // using the for each loop
        for (HttpCookie cookie : cookieList) {
 
            // Print the Domain name and Cookie name using
            // using getName() and getDomain() method
            System.out.println("Domain name is: "
                               + cookie.getDomain());
            System.out.println("Cookie name is: "
                               + cookie.getName());
        }
    }
}

Producción:

The Domain is: www.geeksforgeeks.org
java.net.InMemoryCookieStore@4590c9c3

Publicación traducida automáticamente

Artículo escrito por surbhityagi15 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *