来自Postman的回复显示200,但Android返回403

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自Postman的回复显示200,但Android返回403相关的知识,希望对你有一定的参考价值。

我正在尝试使用Volley开发一个android应用程序,当我用POSTMAN检查并检索200时,我用来沟通的api工作正常。

但是,当我在我的应用程序中使用相同的API时它会返回403“Forbidden”<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

答案

尝试使用

“接受”,“application / json”

在你的params(使用两者)。

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

以上是关于来自Postman的回复显示200,但Android返回403的主要内容,如果未能解决你的问题,请参考以下文章

在 Axios 中收到 400 个错误请求,但 Postman 状态为 200

邮递员在测试 GET 时返回 200 但正文为空

Postman中如何存储和重复使用cookies?

Node.js - Http get 不会在 Postman 或浏览器中显示来自 MongoDb 查询的数据

如何在 H2 数据库中存储表单数据(目前使用 POSTman,但不能使用网站表单)

反应不显示来自webapi的数据[关闭]