Я начинаю использовать Volley для своего приложения, и я хочу добавить собственные заголовки для каждого запроса в качестве идентификатора безопасности. Я использую JsonObjectRequest
и переопределяя getHeaders()
.Добавить пользовательские заголовки с библиотекой Volley
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET,
url,
null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d(TAG, error.toString());
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<>();
String mApiKey = "123";
headers.put("APIKEY", mApiKey);
return headers;
}
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("param1", "1");
params.put("param2", "2");
params.put("param3", "3");
return params;
}
};
VolleySingleton.getInstance(getActivity()).addToRequestQueue(jsonObjectRequest);
Но я получаю эту ошибку:
E/Volley﹕ [23620] BasicNetwork.performRequest: Unexpected response code 401 for http://...
AuthFailureError
брошено.
Я также пытаюсь использовать StringRequest
, но такую же ошибку.
Если кто-то находится в том же корпусе и имеет решение, спасибо заранее!
Вы проверили ваш запрос с линией завитка команды или почтальона хромированной плагин, если он работает? Вы получаете ответ, так ли это ожидаемый ответ? Что вы ожидаете от API? вы пытались перехватить свой сетевой трафик (mitm proxy) или зарегистрировать трафик, чтобы вы могли видеть, установлен ли заголовок в запросе? –
@ A.S. Да, я пробовал с Postman, и он работает. Больше, когда я пытаюсь использовать DefaultHttpClient и HttpGet, он также работает. Я попытаюсь перехватить мой сетевой трафик, но я подозреваю, что заголовок не установлен. – Alex
@ A.S. Я не могу установить прокси-сервер mitm, но я уверен, что заголовки не заданы с помощью getHeaders() – Alex