Android retrofit网络交互在后台返回的response中取出Set-Cookie的值

1、需求,服务器返回的是文件流,服务器把标识放在了response的header中,由于用的网络框架是retrofit,该如何取出Set-Cookie的值呢?

Call verCode = inf.getVerCode();
        verCode.enqueue(new Callback() {
            @Override
            public void onResponse(Call call, Response response) {
                if(response.code()==200) {
                    ResponseBody body = response.body();//获取服务器返回的结构体
                    Headers headers = response.headers();//获取Headers的结果
                    cookie = headers.get("Set-Cookie").split(";")[0];//通过key取出Value,截取出Set-Cookie的值
                }else if(response.code()==403||response.code()==401){
                    finish();
                    startActivity(new Intent(context, LoginByPasswordActivity.class));
                }else{
                    
                }

            }

            @Override
            public void onFailure(Call call, Throwable t) {
                //TODO自己处理错误逻辑
            }
        });

2、retrofit接取文件流的方式如下:

@Streaming
@GET("xxxx")//换出自己的请求地址
Call getVerCode();

 

你可能感兴趣的:(java,android)