Залп бросает ProtocolException в Киткат

Я использую библиотеку Volley. Я написал метод GET с параметрами url, и мой код прекрасно работает в Android 5.0 (или более поздней версии), но в 4.4.4 у меня есть исключение

 com.android.volley.NoConnectionError: java.net.ProtocolException: Unexpected status line: <!DOCTYPE html>

Вот мой источник

    public void getVolleyRequest(final boolean allowShowDialog, int method, String url, final Map<String, String> params, final DaTaRepositoryCallback taRepositoryCallback) {

    if (!CoreApplication.isNetworkAvailable(CoreApplication.getInstance())) {
        taRepositoryCallback.onNoConnection();

        return;
    }
    if (allowShowDialog) {
        mShowDialog();
    }


    RequestQueue queue = Volley.newRequestQueue(mContext);

    JsonObjectRequest getRequest = new JsonObjectRequest(method, url, (JSONObject) null,
            new Response.Listener<JSONObject>()
            {
                @Override
                public void onResponse(JSONObject response) {
                    Log.e("LOG_VOLLEY","response : "+response.toString());
                    try {
                        taRepositoryCallback.onSuccess(response);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                    if (allowShowDialog)
                        hideDialog(pDialog);
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    error.printStackTrace();
                    if (allowShowDialog)
                        hideDialog(pDialog);
                    NetworkResponse errorRes = error.networkResponse;
                    if (errorRes != null) {
                        String stringData = "";
                        if (errorRes != null && errorRes.data != null) {
                            try {
                                stringData = new String(errorRes.data, "UTF-8");
                            } catch (UnsupportedEncodingException e) {
                                e.printStackTrace();
                            }
                        }
                        taRepositoryCallback.onFailure(stringData);


                    }

                }
            })

    {
        @Override
        protected Map<String, String> getParams()
                throws AuthFailureError {

            return params;
        }

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> customHeaders = new HashMap<>();
            customHeaders.put("Accept", "application/json");
            Log.e("token", token+"mm");
            customHeaders.put("Authorization", "Bearer" + " " + token);
            return customHeaders;
        }

    };
    getRequest.setRetryPolicy(new DefaultRetryPolicy(
            30000,
            0,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    queue.add(getRequest);

}



 dataRepository.getVolleyRequest(true, Request.Method.GET, uri2, new HashMap<String, String>(), new DataRepository.DaTaRepositoryCallback() {
        @Override
        public void onSuccess(JSONObject jsonObject) throws JSONException {
            Log.e("response packages", jsonObject.toString() + "mm");
            int errorcode = jsonObject.getInt("errorcode");



        }

        @Override
        public void onFailure(String message) {
            Log.e("onFailure", message+  "totalItemsCount");

        }

        @Override
        public void onNoConnection() {

        }
    });

Как я уже сказал, у меня проблема только с версией 4.4.4. Версия Android ниже Lollipop. Как вы можете видеть, я создал URL с некоторыми параметрами. Я проверил, вставил полный URL и затем работал, но URL сервера был таким же. Как я могу решить мою проблему? Спасибо всем

0 ответов

Другие вопросы по тегам