Отправить аутентификационную информацию с запросом залпа

В моем приложении для Android мне нужно вызвать веб-сервис, который выглядит следующим образом

http://mywesite.com/demo/mob/getmenubycategory/1

Я использую залп для отправки запроса, но результат - VolleyError 401. Я переопределил метод getParams(), чтобы добавить заголовок, но он не работает.

Вот мой код.

RequestQueue requestQueue = volleySingleton.getRequestQueue();
    requestQueue.add(new JsonObjectRequest(Request.Method.GET, url, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            Log.e(TAG, "onResponse = \n " + response.toString());
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e(TAG, "response error \n" + error.networkResponse.statusCode);
        }
    }) {
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            try {
                Map<String, String> map = new HashMap<String, String>();
                String key = "Authorization";
                String encodedString = Base64.encodeToString(String.format("%s:%s", "USERNAME", "Password").getBytes(), Base64.NO_WRAP);
                String value = String.format("Basic %s", encodedString);
                map.put(key, value);
                return map;
            } catch (Exception e) {
                Log.e(TAG, "Authentication Filure" );
            }
            return super.getParams();
        }
    });

Когда я использую свой браузер, он показывает диалог для ввода моего имени пользователя и пароля. Как я могу отправить имя пользователя и пароль с запросом, используя Volley.

8
задан halfer 25 July 2018 в 07:03
поделиться