Java, Как создать HttpCookie из строки, какими-либо удобными способами? - PullRequest
1 голос
/ 22 декабря 2010

Я получил строку cookie из заголовка ответа HTTP, например следующую строку:

name=value; path=/; domain=.g.cn; expire=...

Я могу проанализировать вышеуказанную строку по парам ключ-значение, а также легко установить имя и значениек экземпляру HttpCookie, так как эта пара идет первой.

Но как установить другие пары, поскольку я не знаю, какой метод set соответствует имени следующей пары имя-значение.Обойти все возможные ключи, которые cookie может использовать, и вызвать соответствующий метод set, как показано ниже:

if (key.equalsIgnoreCase("path"))
 cookie.setPath(value);
else if (key.equalsIgnoreCase("domain"))
 cookie.setDomain(value);

Это глупо, есть ли какие-нибудь удобные способы?Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 22 декабря 2010

HttpCookie предоставляет метод parse (...), который сделает всю работу за вас. Посмотрите на JavaDoc здесь . Если это не то, что вам нужно, посмотрите на исходный код его метода.

0 голосов
/ 22 декабря 2010

Вы можете использовать HashMap<String, String>, затем просто перебирать строку cookie, добавляя новые хэш-записи, а затем, как только вы закончите, вы можете сделать что-то вроде cookie.setPath(hash.get("path")) и cookie.setDomain(hash.get("domain"))

...