Android SetCookie

1

Я пытаюсь установить cookie, как показано ниже.

CookieSyncManager.createInstance(context);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setCookie("http://wwww.mydomain.com",
                "mycookie=123"; Domain=.mydomain");
CookieSyncManager.getInstance().sync();

Когда я получаю доступ к странице с mydomain.com, файл cookie может быть восстановлен. но когда я пытаюсь установить cookie с использованием IP-адреса, страница не может получить файл cookie.

1) это потому, что мы можем установить cookie только с помощью имени хоста? 2) почему, когда я обращаюсь к веб-сайту с использованием IP-адреса, веб-сайт все еще может устанавливать и извлекать cookie?

Теги:
cookies
hostname

1 ответ

1
Лучший ответ

Его доменное имя по спецификации:

Домен = домен Дополнительно. Атрибут Domain определяет домен, для которого cookie действителен. Явно указанный домен всегда должен начинаться с точки.

http://www.ietf.org/rfc/rfc2109.txt

Android может извлекать домен и путь из URL-адреса, но домен должен быть полным доменным именем.

Кроме того, если вы получаете доступ через ip, применим следующий оператор:

Выбор домена. Полноценное имя хоста исходного сервера должно соответствовать домену атрибуту Domain cookie.

Ответ - да.

  • 0
    хммм .. не правда понимаешь? значит я могу установить cookie только с использованием доменного имени?
  • 0
    Учитывая, что Android хранит куки в соответствии со спецификацией; да. Вы должны использовать доменное имя. Но если ваше доменное имя разрешается на тот же хост, вы сможете прочитать cookie на страницах, адресованных через IP.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню