无法使用齐射处理http错误

时间:2017-03-02 08:11:46

标签: android android-volley

我正在尝试使用带有get标头的Authentication请求检查用户提供的红衣主教是否有效。说实话,我没有尝试成功的情况,但是当我通过无效的红衣主教时,我从服务器那里得到401错误。但是Volley不会像预期的那样处理此错误。

我的要求:

StringRequest loginRequest = new StringRequest(Request.Method.GET, url,
                new Response.Listener<String>()
                {
                    @Override
                    public void onResponse(String response) {
                        valid[0] = 1;
                        Log.d("Response", response);
                    }
                },
                new Response.ErrorListener()
                {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        valid[0] = 2;
                        Log.d("ERROR","error => "+error.toString());
                    }
                }
        ) {
            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                Map<String, String>  params = new HashMap<String, String>();
                String usernamepwd = u+":"+p;
                params.put("Authentication", Base64.encodeToString(usernamepwd.getBytes(), Base64.DEFAULT));
                return params;
            }
        };

执行代码后我得到:

  

03-02 08:43:32.088 4119-4150 / com.example E / Volley:[209]   BasicNetwork.performRequest:意外的响应代码401   https://example.com/api/checklogin

未调用覆盖函数onErrorResponse。我该怎么做才能正确处理HTTP错误?

0 个答案:

没有答案