我正在开发一个Android应用程序,我想使用volley来获取我的get / post请求。问题是,当我向服务器发出请求时,无论是GET还是POST,我都会从标题中收到错误。我做过的事情:
我已检查过清单中是否有INTERNET权限
我已检查IP,端口和网址路径是否良好
我已检查是否将正确的数据发送到服务器
我已经检查了相同的网址是否可以在我的手机浏览器中运行,我可以从浏览器中做出任何请求而没有任何问题,只有在应用程序中它不起作用(我是在我的手机上调试我的应用程序)
我已经检查过相同的网址是否可以在我的电脑浏览器中使用
对于服务器,我使用IIS和Web API 2程序,我已经检查了匿名授权,并且我已禁用Windows授权。
我试图重启服务器
我试图在HTTP
之后放两个//而不是一个在调试过程中,我将服务器连接到我的IIS进程,我尝试调用的方法永远不会被命中。
这是我的代码(删除了真实IP和真实端口)。
private void validate(final String userEmail,final String userPassword)
{
final ProgressDialog pDialog = new ProgressDialog(this);
pDialog.setMessage("Loading...");
pDialog.show();
String tag_json_obj = "json_obj_req";
String url = "http:/ip:port/InventoryManagement/api/userdata/VerifyUser";
StringRequest strReq = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String response)
{
if (response.compareTo("false") != 0)
{
pDialog.dismiss();
SharedPreferences settings = PreferenceManager
.getDefaultSharedPreferences(LoginActivity.this);
SharedPreferences.Editor editor = settings.edit();
editor.putString("token", response);
editor.putBoolean("hasLoggedIn", true);
editor.apply();
Intent intent = new Intent(getBaseContext(), MainActivity.class);
startActivity(intent);
finish();
}
else
{
pDialog.dismiss();
AlertDialog alertDialog = new AlertDialog.Builder(LoginActivity.this).create();
alertDialog.setTitle("Can't login");
alertDialog.setMessage("Invalid username or password");
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertDialog.show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error)
{
Log.e("ERROR", "Error occurred ", error);
Snackbar snackbar2 = Snackbar.make(getWindow().getDecorView().getRootView(), "Server error", Snackbar.LENGTH_SHORT).setDuration(2000);
pDialog.dismiss();
snackbar2.show();
}
})
{
@Override
protected Map<String,String> getParams()
{
Map<String, String> params = new HashMap<>();
params.put("username","user");
params.put("email", userEmail);
params.put("password", userPassword);
return params;
}
};
strReq.setRetryPolicy(new DefaultRetryPolicy(
10000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
AppController.getInstance().addToRequestQueue(strReq, tag_json_obj);
}