URL获取Cookie(或者说是session)

来源:互联网 发布:淘宝上的男内裤买家秀 编辑:程序博客网 时间:2024/05/20 03:46

直接在接口中获取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);                  }              }          }  
方法二思路来自ITeye的raito_yagami用户的问题,个人测试了方法没毛病,思路没毛病,就是本着不负责的态度。。。没有测试整个代码,如果测出问题欢迎大家来讨论啊。

最后说个废话。其实这个方法,只要是Response Header里的都能拿到的

0 0
原创粉丝点击