2014-03-12 4 views
10

나는 던진 VolleyError의 응답 코드를 얻는 방법을 찾고 있습니다. 내 VolleyLog에 보내VolleyError에서 응답 코드를 얻으려면 어떻게해야합니까?

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()); 
    } 
}; 

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: 

발리가 나는 또한 내 VolleyLog에서 다음을 참조 할 수 있기 때문에 돌아 오는 알고 않습니다

내 ErrorListener를은 다음과 같습니다
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 통해

답변

21

:

error.networkResponse.statusCode 

가 소스 코드를보고, 나는 VolleyError는 HTTP 호출의 statusCode 있음을 보유하고 networkResponse라는 공공 최종 멤버 NetworkResponse을 가지고 것을 보았다. NPE를 확인해야합니다.

HereNetworkResponse의 소스 코드를 찾을 수 있습니다. HereVolleyError

+0

에 대한 소스 코드를 찾을 수 있습니다. 실제로는 꽤 쉽습니다. 나는 그것을 간과해야합니다 .. –

관련 문제