如何在我需要在正文中发送身份验证标头和
JSON对象的排序中发出
JSON请求,我希望只有状态代码200回答
JsonObjectRequest request = new JsonObjectRequest(
method,url,myJsonObject,responseListener,errorListener) {
@Override
public Map<String,String> getHeaders() throws AuthFailureError {
HashMap<String,String> headers = new HashMap<String,String>();
String creds = String.format("%s:%s",login,password);
String auth = "Basic " + Base64.encodetoString(creds.getBytes(),Base64.DEFAULT);
headers.put("Authorization",auth);
return headers;
}
};
new Response.Listener<String>(){
@Override
public void onResponse(String response) {
Toast.makeText(getActivity(),response,1000).show();
}
我尝试使用字符串或JSON对象,对象的不同种类的响应侦听器,但始终存在错误:
android volley org.json.JSONException:字符0的输入结束
或者是否有任何其他类型的请求在volley中支持和json对象和authentification标头在正文和响应只是一个http状态代码?
解决方法
我知道这是一个老问题,但我认为我仍然回答这个问题,因为我的答案可能会对未来的人有所帮助 –
您需要创建一个扩展Request类的自定义类,并在该类中覆盖这些方法
@Override
protected Response parseNetworkResponse(NetworkResponse response) {
return Response.success(response.statusCode,HttpHeaderParser.parseCacheHeaders(response));
}
@Override
protected void deliverResponse(Integer statusCode) {
mListener.onResponse(statusCode);
}
这是班上的核心和灵魂.
有关完整代码和说明,请查看我的博客主题 –
从Android Volley库获取服务器响应状态200
link 1
希望能帮助到你,谢谢