gpt4 book ai didi

android - 如何在 volley 库 Android 中读取响应头的状态码和响应体

转载 作者:太空狗 更新时间:2023-10-29 14:59:23 24 4
gpt4 key购买 nike

我在 Android 中使用 volley 库进行网络调用,并使用 jsonObject 从服务器发送和获取值。

在我的例子中,如果我发送正确的值,它会返回正确的 json 对象,但如果我向服务器发送错误的输入,它会返回 401 作为请求 header 和带有错误消息的响应主体。但这并没有显示在 onResponse 成功方法中。

这是我的代码

private void makeLoginReq() {
showProgressDialog();
Map<String, String> postParam = new HashMap<String, String>();
postParam.put("un", user_name.getText().toString());
postParam.put("p", password.getText().toString());

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST,
Server.URL+Server.FUNC_LOGIN, new JSONObject(postParam),
new Response.Listener<JSONObject>() {

@Override
public void onResponse(JSONObject response) {
Log.d("TAG", response.toString());
hideProgressDialog();
try {
if("0".equalsIgnoreCase(response.getString("status")))
{
startActivity(new Intent(ActivityLogin.this,ActivityHome.class));
}else if("1".equalsIgnoreCase(response.getString("status")))
{

}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("TAG", "Error: " + error.networkResponse.statusCode);
hideProgressDialog();
Crouton.makeText(ActivityLogin.this, "Server Error Try again", Style.ALERT).show();
}
}) {

/**
* Passing some request headers
* */
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json");
headers.put("charset", "utf-8");
return headers;
}

};

// Adding request to request queue
AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);
}

My need is to get the json response in public void onResponse(JSONObject response) { method }.

Can anyone help me to overcome this problem?

最佳答案

VolleyError 有很多子类,可以通过instanceOf 检查错误类型。

关于android - 如何在 volley 库 Android 中读取响应头的状态码和响应体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28364125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com