okhttp中response中设置自动重定向后获取最终cookie值

介绍:网上查了很多关于httpclient,okhttp以及httpURLconnection发送请求的方式,但是都没有解决发送请求自动重定向cookies信息传送的问题,经过研究本文解决了这一问题,本文根据okhttp为例来解决:

原理:实现了cookiejar,并且重新其中的saveFromResponse方法,使其重定向跳转的时候将原本存储的cookies放到最新的cookie中

代码:

public class LocalCookieJar implements CookieJar {
    List cookies=new ArrayList<>();
    @Override
    public List loadForRequest(HttpUrl arg0) {
        if (cookies != null)
            return cookies;
        return new ArrayList();
    }

    @Override
    public void saveFromResponse(HttpUrl arg0, List cookies) {
        this.cookies.addAll(cookies);
    }
}
注意事项:

1、引入okhttp的相关jar包

2、使用同一个client,最好是单例

3、其他请求头信息也可以依照此方法获取

你可能感兴趣的:(okhttp中response中设置自动重定向后获取最终cookie值)