Невозможно извлечь все куки в сервлете Java - PullRequest
2 голосов
/ 01 декабря 2011

В моем текущем приложении, которое я разрабатываю, мне нужно извлечь все куки из браузера пользователя, созданного сервером приложений. Проблема в том, что с Chrome и Opera я могу получить все куки, и это нормально, но используя Firefox и IE только некоторые из них. Когда я проверяю, записаны ли нужные мне файлы cookie в историю браузера, я вижу, что они есть, но их нельзя получить в моем Java-сервлете.

Что я делаю так:

public static Cookie getCookieByName(String cookieName, HttpServletRequest request) {
        Cookie cookie = null;
        Cookie[] cookies = request.getCookies();
        if (cookies != null) {
            for (int i = 0; i < cookies.length; i++) {
                Cookie c = cookies[i];
                if (c.getName().compareTo(cookieName) == 0) {
                    cookie = c;
                    break;
                }
            }
        }
        return cookie;
    }

Для Firefox и Opera возвращаются файлы cookie JSESSIONID, __utma ... но отсутствуют файлы cookie .. те, которые мне нужны .. Есть идеи, как поступить?

Ответы [ 2 ]

4 голосов
/ 01 декабря 2011

Браузер отправит файлы cookie, которые он считает необходимыми для отправки, и вы больше не сможете убедить его отправить.

Что вам нужно сделать, это изучить деталикуки, которые не отправляются, чтобы выяснить, что отличает их от отправляемых.На что следует обратить внимание:

  • домен куки-файла
  • путь куки-файла
  • порт куки-файла
  • флаг безопасности куки-файла

RFC 2965 - Механизм управления состоянием HTTP может помочь в этом.

2 голосов
/ 01 декабря 2011

Используйте Firebug, чтобы проверить, действительно ли эти куки отправляются на сервер Firefox и совпадает ли их имя с именем, которое вы ищете.Также добавьте несколько трасс отладки и распечатайте имена всех файлов cookie.

Возможно, в файле cookie задан какой-то путь, и Firefox строже IE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...