【问题标题】:Android volley returns clienterror 400 [Bad request]Android volley 返回 clienterror 400 [Bad request]
【发布时间】:2020-11-01 02:02:54
【问题描述】:

我想尽一切办法解决它,但我做不到。谁能帮我解决这个问题。 我尝试通过 volley 登录,但它给出了错误的请求 400 错误,我认为这是因为正文内容类型,但我也覆盖了 getbodycontenttype 方法,但它不起作用, 这是代码

    String url = "http://192.168.1.129:5000/api/dealers/login";

    StringRequest stringRequest = new StringRequest( Request.Method.POST, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    //progressDialog.dismiss();
                    Log.d("response", response);

                    try {
                        JSONObject data= new JSONObject(response);
                        //Boolean error =jsonObject.getBoolean("error");
                        if (data.getString("success").equals("true")) {

                            String message=data.getString("msg");


                            startActivity( new Intent( LoginActivity.this, MainActivity.class ) );
                            finishAffinity();


                        } else {


                            Toast.makeText(LoginActivity.this,
                                    data.getString("msg"), Toast.LENGTH_LONG).show();

                        }


                    } catch (JSONException e) {
                        e.printStackTrace();
                    }



                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            NetworkResponse networkResponse = error.networkResponse;
            if (networkResponse != null) {
                Log.e("Status code", String.valueOf(networkResponse.statusCode));

                Toast.makeText(LoginActivity.this, String.valueOf(networkResponse.statusCode),
                        Toast.LENGTH_SHORT).show();
            }else{
                Log.e("Status code", String.valueOf(error));
                Toast.makeText(LoginActivity.this, String.valueOf(error),
                        Toast.LENGTH_LONG).show();
            }
        }
    }){

        @Override
        public String getBodyContentType() {
            return "application/x-www-form-urlencoded; charset=UTF-8";
        }


        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String,String> params = new HashMap<String, String>();
            params.put("mobile",userMobile);
            params.put("password",userPassword);

            return params;
        }
    };

    int socketTimeout = 0;
    RetryPolicy policy = new DefaultRetryPolicy(socketTimeout,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);

    stringRequest.setRetryPolicy(policy);
    AppController.getInstance().addToRequestQueue(stringRequest);

【问题讨论】:

    标签: java android android-volley


    【解决方案1】:

    您好
    如果您的服务器正确,请这样做,但是当我使用此地址时,我没有收到任何数据...
    我在使用它做项目时也犯了错误...最好使用 1.1.0 及之前的版本...

    【讨论】:

    • 当我在邮递员中运行此方法时它正在工作,但在代码中它通过错误
    • 我尝试使用 1.1.0 版,但仍然无法正常工作
    猜你喜欢
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 2013-01-29
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多