3 Stimmen

Code ist HttpClient oder Servlet-API zum Parsen von Cookie-Header

Gibt es einen vorhandenen Code in Apache HttpClient oder in der Servlet-API zu parsen Cookie-Header und erhalten aus einer Zeichenfolge, die "name1=value1; name2=value2; ..." eine Liste von Cookie enthält? Schreiben von Code zu parsen dies scheint nicht zu schwer, aber wenn es bereits einige vorhandenen Code, ich möchte es verwenden.

2voto

Marc Novakowski Punkte 43303

Wenn Sie anrufen [getCookies()](http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/http/HttpServletRequest.html#getCookies()) über die HttpServletRequest Objekt, gibt es ein Array von Cookie Gegenstände. Wenn Sie häufig Cookies nach Namen suchen müssen, kann es einfacher sein, sie in eine Map zu packen, so dass man sie leicht nachschlagen kann (anstatt jedes Mal über das Array zu iterieren). Etwas wie dies:

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;
}

Wenn Sie HttpClient und keine Servlets verwenden, können Sie die Cookie Array verwenden:

client.getState().getCookies()

wobei client Ihr HttpClient-Objekt ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X