Код - это HttpClient или servlet API для анализа заголовка cookie

StackOverflow https://stackoverflow.com/questions/366214

Вопрос

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

Это было полезно?

Решение

Если ты позвонишь 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top