我试图使用Volley lib进行网络请求...
我无法实现的一件事
如果服务器返回错误,它不仅可以发送状态代码,还可以发送状态文本(这不是响应主体http response的一部分)。
所以问题是如何从VolleyError得到这个Reason-Phrase
......
parseNetworkresponse& parseNetworkError没有帮助
public class EJSONRequest extends JsonObjectRequest{
public EJSONRequest(int method, String url, JSONObject jsonRequest, Response.Listener<JSONObject> listener, Response.ErrorListener errorListener) {
super(method, url, jsonRequest, listener, errorListener);
}
@Override
protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
Log.v("w201"," --- Network response ---" );
Log.v("w201",response.toString() );
Log.v("w201",new String(response.data));
Log.v("w201"," ------------------------" );
return super.parseNetworkResponse(response);
}
@Override
protected VolleyError parseNetworkError(VolleyError volleyError) {
Log.v("w201", "--- Error --- ");
Log.v("w201","getMesssage: "+volleyError.getMessage());
Log.v("w201","status Code: "+volleyError.networkResponse.statusCode);
Log.v("w201","data: "+new String(volleyError.networkResponse.data));
Log.v("w201","--------------" );
return super.parseNetworkError(volleyError);
}}
在下一个日志中:
--- Error ---
getMesssage: null
status Code: 401
data:
但是我需要把这个字符串作为回应: