代码之家  ›  专栏  ›  技术社区  ›  MIK

邮差的回复显示200,但Android返回403

  •  -1
  • MIK  · 技术社区  · 6 年前

    我试着用Volley开发一个Android应用程序,当我检查的时候,我用来交流的API工作得很好。 POSTMAN 检索 200 .

    但当我在应用程序中使用相同的API时,它会返回我 403 “禁止” <p〉You don't have permission to access /API/checkPassOtp on this server.〈/p〉

    请找到截图。
    ScreeShot

    我已经为这个问题尝试了多种解决方案,但没有任何效果。

    有人能帮我吗?

    附加截击码和错误响应

    JSONObject jsonBody = new JSONObject();
    try {
        jsonBody.put("otp", otp);
        Log.e("jsonBody", jsonBody.toString());
    } catch (JSONException e) {
        e.printStackTrace();
    }
    
    JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST, URL, jsonBody, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            // handle response data
            VolleyHelper.progressDialog.dismiss();
            Log.e("onResponse", response.toString());
    
        }
    }, new Response.ErrorListener() {
    
        @Override
        public void onErrorResponse(VolleyError error) {
            VolleyHelper.progressDialog.dismiss();
            Toast.makeText(getApplicationContext(),error.toString(),Toast.LENGTH_SHORT).show();
            Log.e("onErrorResponse", error.toString());
    
        }
    
    }) {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> params = new HashMap<String, String>();
            params.put("Content-Type", "application/json");
            return params;
        }
    };
    
    
    jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 2, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    Application.getInstance().addToRequestQueue(jsonObjReq, "app");
    volleyHelper.showProgressDialogWithTitle(MainActivity.this);
    

    Error response

    1 回复  |  直到 6 年前
        1
  •  0
  •   Douglas Cunha    6 年前

    尝试使用

    “接受”,“应用程序/json”

    在参数中(两者都用)。

    在连接我公司的Web服务器时,我必须使用x-api-key,但我不确定您是否需要它。