【发布时间】:2016-07-23 20:27:32
【问题描述】:
我正在尝试从服务器端获取 HTTP 状态代码,例如 400、401 或 500。我尝试了下面的代码,但消息是null。
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("error fetched/////", "" + error.toString());
// listener.onError(error.toString());
String json = null;
NetworkResponse response = error.networkResponse;
int errcode = error.networkResponse.statusCode;
Log.e("errcode","errcode"+error.networkResponse.toString());
Log.e("HttpStatus", String.valueOf(errcode));
if(HttpStatus.SC_SWITCHING_PROTOCOLS==error.networkResponse.statusCode){
Log.e("HttpStatus","HttpStatus");
}
if (response != null && response.data != null) {
switch (response.statusCode) {
case 400:
json = new String(response.data);
json = trimMessage(json, "message");
listener.onError(error.toString());
Log.e("listenerpost", "listenerpost" + error.getMessage());
break;
case 401:
json = new String(response.data);
json = trimMessage(json, "message");
listener.onError(error.toString());
Log.e("listener1", "listener" + error.networkResponse.toString());
break;
case 500:
json = new String(response.data);
json = trimMessage(json, "message");
listener.onError(error.toString());
Log.e("listener500", "listener500" + error.networkResponse.toString());
}
//Additional cases
}
}
})
请帮我解决这个问题。
【问题讨论】:
-
您从中得到的响应是什么:Log.e("errcode","errcode"+error.networkResponse.toString());
-
errcode com.android.volley.NetworkResponse@1b5fef4b 这是对此的响应。 @djodjo
-
可以在“ json = new String(response.data); ”之后记录json,并且你可以粘贴你的trimMessage,因为它似乎存在问题
-
也可以通过“得到消息为空”。你的意思是“json”变量还是别的什么?
-
Log.e("listenerpost", "listenerpost" + error.getMessage());在这里我收到了空消息。
标签: android web-services android-volley android-networking android-webservice