URL获取Cookie(或者说是session)

    xiaoxiao2021-03-27  32

    直接在接口中获取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里的都能拿到的

    转载请注明原文地址: https://ju.6miu.com/read-664465.html

    最新回复(0)