Código é HttpClient ou servlet API para analisar Cookie
-
21-08-2019 - |
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.
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.