Код - HttpClient или сервлет API для анализа заголовка Cookie - PullRequest
3 голосов
/ 14 декабря 2008

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

1 Ответ

2 голосов
/ 14 декабря 2008

Если вы вызовете 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()

где клиент - это ваш объект HttpClient.

...