Существует ли какой-либо существующий код в Apache HttpClient или в API сервлета для анализа заголовка Cookie и получения из строки, содержащей "name1=value1; name2=value2;..." список Cookie? Написание кода для анализа этого не кажется слишком сложным, но если уже есть какой-то существующий код, я бы хотел его использовать.
Код представляет собой HttpClient или API сервлета для анализа заголовка Cookie.
Ответы (1)
Если вы вызываете 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.
person
Marc Novakowski
schedule
14.12.2008
Это предполагает, что API-интерфейс сервлета доступен в пути к классам. Vert.x не использует HttpServletRequest.
- person Robert Christian; 07.03.2014