Привет, ребята. У меня проблема с запросом Volley POST. Я хочу войти на страницу, где есть просто поле для входа пользователя. Ответ на этот запрос - просто html-код этого окна регистрации. Он должен войти в систему (как код POSTman ниже), а затем я могу делать другие вещи, которые мне нужно сделать. Данные для входа в код не действительны только пример.
@Override
protected void onCreate(Bundle savedInstanceState) {
requestQueue = Volley.newRequestQueue(this);
requestQueue.start();
}
@Override
public void onClick(View v) {
if (v == buttonLogin) {
loginUser();
}
}
public void loginUser() {
StringRequest stringRequest = new StringRequest(Request.Method.POST, "http://ns3.apis.sk:28080/login_check",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
getJsonData();
Log.d("Response", response);
Toast.makeText(LoginActivity.this, response, Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(LoginActivity.this, error.toString(), Toast.LENGTH_LONG).show();
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<>();
params.put("_username","admin");
params.put("_password","root");
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
final HashMap<String, String> headers = new HashMap<>();
headers.put("Content-Type", "multipart/form-data");
return headers;
}
};
requestQueue.add(stringRequest);
}
Также есть код POSTman, который делает то, чего я хочу достичь в Android должным образом.
{
"name": "http://ns3.apis.sk:28080 - login_check",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "_username",
"value": "admin",
"type": "text"
},
{
"key": "_password",
"value": "root",
"type": "text"
}
]
},
"url": {
"raw": "http://ns3.apis.sk:28080/login_check",
"protocol": "http",
"host": [
"ns3",
"apis",
"sk"
],
"port": "28080",
"path": [
"login_check"
]
}
},
"response": []
}