Код HttpClient или сервлет API для анализа заголовка Cookie

Существует ли какой-либо существующий код в Apache HttpClient или в API сервлета для анализа заголовка Cookie и получения из строки, содержащей «name1 = value1; name2 = value2; ...», список Cookie? Написание кода для анализа этого не кажется слишком сложным, но если уже есть какой-то существующий код, я бы хотел его использовать.

14.12.2008 05:54:24
1 ОТВЕТ
РЕШЕНИЕ

Если вы вызовете getCookies () для HttpServletRequestобъекта, он вернет массив Cookieобъектов. Если вам нужно часто искать файлы cookie по именам, то может быть проще поместить их на карту, чтобы их легче было искать (вместо того, чтобы каждый раз перебирать массив). Что-то вроде этого:

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

Если вы используете HttpClient, а не сервлеты, вы можете получить Cookieмассив, используя:

client.getState().getCookies()

где client - это ваш объект HttpClient.

2
14.12.2008 07:17:26
Это предполагает, что Servlet API доступен на classpath. Vert.x не использует HttpServletRequest.
Robert Christian 7.03.2014 16:51:06