3

Apache HttpClientまたはサーブレットAPIに、Cookieヘッダーを解析し、「name1 = value1; name2 = value2; ...」を含む文字列からCookieのリストを取得する既存のコードはありますか?これを解析するコードを書くのはそれほど難しいことではないようですが、既存のコードがすでにある場合は、それを使用したいと思います。

4

1 に答える 1

2

オブジェクトでgetCookies()を呼び出すと、HttpServletRequestオブジェクトの配列が返されCookieます。Cookie を名前で頻繁に検索する必要がある場合は、それらを Map に配置する方が簡単な場合があります。これにより、(配列を毎回反復処理するよりも) 簡単に検索できます。このようなもの:

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 オブジェクトです。

于 2008-12-14T07:11:48.413 に答える