加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何从VolleyError获取响应代码?

发布时间:2020-12-14 16:22:19 所属栏目:Java 来源:网络整理
导读:我正在寻找一种方法来获取抛出的VolleyError的响应代码.我的ErrorListener看起来像这样: Response.ErrorListener errorListener = new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { error.printStackTrace(); /
我正在寻找一种方法来获取抛出的VolleyError的响应代码.我的ErrorListener看起来像这样:
Response.ErrorListener errorListener = new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        error.printStackTrace();
        //Get response code here
        VolleyLog.e("Error: ",error.toString());
        VolleyLog.e("Error: ",error.getLocalizedMessage());
    }
};

我发送到我的VolleyLog的2行打印如下:

03-12 10:57:56.932: E/Volley(7147): [1] 1.onErrorResponse: Error: 
03-12 10:57:56.932: E/Volley(7147): [1] 1.onErrorResponse: Error:

Volley确实知道回来了,因为我也可以在我的VolleyLog中看到以下内容:

03-12 10:57:56.692: E/Volley(7147): [41854] BasicNetwork.performRequest: Unexpected response code 403 for https://*******/Employee/authenticate
03-12 10:57:56.897: E/Volley(7147): [41854] BasicNetwork.performRequest: Unexpected response code 403 for https://*******/Employee/authenticate
03-12 10:57:56.902: W/System.err(7147): com.android.volley.AuthFailureError
03-12 10:57:56.902: W/System.err(7147):     at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:143)
03-12 10:57:56.902: W/System.err(7147):     at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:105)

所以基本上,我想要的是得到这个响应代码“403”(禁止).

解决方法

通过VolleyError:
error.networkResponse.statusCode

看看源代码,我看到VolleyError有一个名为networkResponse的公共final成员NetworkResponse,它保存了Http调用的statusCode.你应该检查NPE.

Here可以找到NetworkResponse的源代码.
Here可以找到VolleyError的源代码

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读