如何从Volley请求的JSON响应中读取标头?

时间:2019-08-20 14:41:20

标签: java android android-volley

我正在开发一个应用程序,其中“登录”从服务器返回一个名为“ authCookie”的cookie,并且此cookie位于响应的标头中。我正在使用Volley库和String Request进行服务器移动应用程序通信。您能否指导我如何从标题中获取此Cookie?

    StringRequest stringRequest = new StringRequest(Request.Method.POST, URL,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) { 
                    try {
                        JSONObject obj = new JSONObject(response);
                        if(obj.has("csrf") && obj.has("refreshToken")){
                            csrf = obj.getString("csrf");
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }

            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    progressDialog.dismiss();

                    NetworkResponse networkResponse = error.networkResponse;
                    if (networkResponse != null){
                        if(error.networkResponse.statusCode == 400){
                            Toast.makeText(MainActivity.this,"Invalid username/password",Toast.LENGTH_LONG).show();
                        }
                    }
                    else{
                        Toast.makeText(MainActivity.this,"Check internet connection!",Toast.LENGTH_LONG).show();
                    }
                }
            }) {
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            params.put("username", username);
            params.put("password", password);
            return params;
        }

   };

    VolleySingleton.getInstance(this).addToRequestQueue(stringRequest);

我希望从响应中获取authCookie并将其保存在字符串中。

0 个答案:

没有答案