直接在接口中获取Session或者是Cookie
看一下网页版的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);
}
}
}
最后说个废话。其实这个方法,只要是
Response Header
里的都能拿到的