看一下网页版的Response Header里的内容
可以看到Set-Cookie 有好几个,我们要取的就是这里的值。
方法一:
URLConnection urlConnection = new URL(url).openConnection(); String headerField = urlConnection.getHeaderField("Set-Cookie");上边这种方法,针对只有一个Set-Cookie使用起来没啥问题。
如果接口中有像第一张图有多个Set-Cookie时就不好了
所以
方法二:
String key = null; for (int i = 1; (key = urlConnection.getHeaderFieldKey(i)) != null; i++) { if (key.equalsIgnoreCase("set-cookie")) { String cookie = null; cookie = urlConnection.getHeaderField(i); int i1=cookie.indexOf("="); int i2=cookie.indexOf(";"); if(i1!=-1&&i2!=-1){ String _value=cookie.substring(i1+1, i2); String _key=cookie.substring(0, i1); cookieMap.put(_key, _value); } } } 方法二思路来自ITeye的raito_yagami用户的问题,个人测试了方法没毛病,思路没毛病,就是本着不负责的态度。。。没有测试整个代码,如果测出问题欢迎大家来讨论啊。最后说个废话。其实这个方法,只要是Response Header里的都能拿到的
