Залп бросает 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 сервера был таким же. Как я могу решить мою проблему? Спасибо всем