【发布时间】:2013-01-25 17:31:11
【问题描述】:
如何从 cookie 列表中获取特定 cookie 的值。以下是我的尝试:
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");
}
我得到以下结果,我想获得“JSESSIONID”的价值
Cookie:JSESSIONID=88E53DE2E78TRE86E1C2B021BA240B; Path=/us-webservice
谢谢。
【问题讨论】:
-
不能从会话本身获取会话ID吗?
-
什么意思?它已被设置为 cookie 的一部分,我必须在下一个请求中读取并传递它。
-
如果您发出请求,像 httpclient 这样的客户端可以自动为您处理这些 cookie。
标签: java cookies http-headers