Pregunta

¿Hay algún código existente en Apache HttpClient o en la API de servlet para analizar cabecera Cookie y obtener de una cadena que contiene "nombre1 = valor1; nombre2 = valor2; ..." una lista de Cookie? Escribir código para analizar esto no parece demasiado difícil, pero si ya hay algún código existente, me gustaría utilizarlo.

¿Fue útil?

Solución

Si llama getCookies () en la HttpServletRequest objeto, devolverá una matriz de Cookie objetos. Si es necesario mirar con frecuencia encima de las galletas por su nombre, a continuación, puede ser más fácil para ponerlos en un mapa así que es fácil mirar hacia arriba (en lugar de iterar sobre la matriz cada vez). Algo como esto:

public static Map<String,Cookie> getCookieMap(HttpServletRequest request) {
    Cookie[] cookies = request.getCookies();
    HashMap<String,Cookie> cookieMap = new HashMap<String,Cookie>();
    if (cookies != null) {
        for (Cookie cookie : cookies) {
            cookieMap.put(cookie.getName(), cookie);
        }
    }
    return cookieMap;
}

Si está utilizando HttpClient y no servlets, se puede obtener la matriz mediante <=>:

client.getState().getCookies()

donde el cliente es el objeto HttpClient.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top