实践是知识的母亲,知识是生活的明灯。这篇文章主要讲述来自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?
请找截图。
文章图片
我已经为这个问题尝试了多种解决方案,但没有什么对我有用。
谁能帮帮我吗。
附加齐射代码和错误响应
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);
文章图片
答案尝试使用
“接受”,“application / json”在你的params(使用两者)。
【来自Postman的回复显示200,但Android返回403】在与我公司的网络服务器连接时,我必须使用x-api-key,但我不确定你是否需要它。
推荐阅读
- 调用getText()不在Android应用程序中编译
- Android Google登录失败com.google.android.gms.common.api.ApiException(12500)
- 无法找到com.android.tools.build:gradle:2.3.+的任何匹配项
- 在React App中使用或不使用PouchDB加载预构建的SQlite数据库的正确方法是什么
- upsert方法的Android sqlite语法错误
- 将用户输入编辑文本与SQLite数据库Android Java进行比较
- 在Android中使用SQLite获取RowID
- 锁定AppendAllText与TextWriter
- Xamarin Android Nunit测试在测试资源管理器中可被发现,但在运行测试时未被发现。 (VS2017)