简体   繁体   English

从MessageContext.HTTP_RESPONSE_HEADERS获取Cookie值

[英]Getting Cookie value from MessageContext.HTTP_RESPONSE_HEADERS

How can I get hold of a value of a particular cookie from list of cookies. 如何从cookie列表中获取特定cookie的值。 Below is how I am trying: 以下是我的尝试方式:

        Map<String, List<String>> map = (Map<String, 
                List<String>>) context.get(MessageContext.HTTP_RESPONSE_HEADERS);

        List<String> contentType = getHTTPHeader(map);
        if (contentType != null) {
            StringBuffer strBuf = new StringBuffer();
            for (String type : contentType) {
                strBuf.append(type);
            }
            System.out.println("Content-Type:" + strBuf.toString());
        }

        List<String> cookies = map.get("Set-Cookie"); 
        if (cookies != null) {
            System.out.println("cookies != null");
            StringBuffer strBuf = new StringBuffer();
            for (String type : cookies) {
                System.out.println(" Looping cookie ");
                strBuf.append(type);
            }
            System.out.println("Cookie:" + strBuf.toString());
        }else{
            System.out.println("cookies == null");
        }

I get following results and I want to get hold of value for "JSESSIONID" 我得到以下结果,我想掌握“ JSESSIONID”的价值

Cookie:JSESSIONID=88E53DE2E78TRE86E1C2B021BA240B; Path=/us-webservice

Thanks. 谢谢。

cookie.substring(cookie.indexOf(':'), cookie.indexOf(';')).split("=")[1]

or if you want regular expressions 或者如果您想要正则表达式

Pattern p = Pattern.compile( "JSESSIONID=([A-Z0-9]+)");
Matcher m = p.matcher(cookie);
m.find();
m.group(1);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM