Pergunta

Existe algum código existente no Apache HttpClient ou na API do servlet para analisar Cookie e obter a partir de uma string que contém "name1 = value1; name2 = value2; ..." uma lista de biscoito? Escrever código para analisar isso não parece muito difícil, mas se já existe algum código existente, eu gostaria de usá-lo.

Foi útil?

Solução

Se você chamar getCookies () no objecto HttpServletRequest, ele irá retornar uma matriz de objectos Cookie. Se você precisa de olhar freqüentemente se os cookies pelo nome, então ele pode ser mais fácil de colocá-los em um mapa por isso é fácil de procurá-los (ao invés de iterar a matriz de cada vez). Algo parecido com isto:

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;
}

Se você estiver usando HttpClient e não servlets, você pode obter a matriz Cookie usando:

client.getState().getCookies()

onde o cliente é o seu objeto HttpClient.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top