Volley重复响应头被覆盖的问题
// 在Request中覆盖该方法获得响应信息
@Override protected Response<String> parseNetworkResponse(NetworkResponse response) {
// 从所有响应消息头中获取信息,并用覆盖写的方式获得所有的Set-Cookie
HashMap<String, String> cookieMap = new HashMap<>();
for (int i = 0, n = response.allHeaders.size(); i < n; i++){
Header h = response.allHeaders.get(i);
if (h.getName().equalsIgnoreCase("Set-Cookie")){
if (h.getValue() != null){
String firstItem = h.getValue().substring(0, h.getValue().indexOf(';'));
String []cookiePair = firstItem.split("=");
if (cookiePair.length == 2){
cookieMap.put(cookiePair[0], cookiePair[1]);
}
}
}
}
for (Map.Entry<String, String> entry : cookieMap.entrySet()){
// 报Cookie保存起来,给其他请求使用
PrefUtils.putString(LampCloud.context, entry.getKey(), entry.getValue());
}
}