Как я могу получить свой GET-запрос залпа на возврат информации из незащищенного протокола?

1

Как видно из заголовка, если целью не является https, мой запрос get ничего не возвращает. Я не вижу никаких ошибок для устранения неполадок. Есть ли что-то в манифесте, мне нужно включить http в целях безопасности?

Теги:
android-studio

2 ответа

0

Чтобы получить ошибки в залпе, вам нужно внедрить приемник ошибок залпа, например

StringRequest request = new StringRequest(Request.Method.POST, url,
        new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Log.e("response", response);
            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();

            }
        }) {
    @Override
    protected Map<String, String> getParams() throws AuthFailureError {
        return parameters;
    }

    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        Map<String, String> headers = new HashMap<>();
        ......
        return headers;
    }
};

RequestQueue queue = Volley.newRequestQueue(Class.this);
queue.add(request);

}

  • 0
    Я включил это, извините, я могу включить свой код, когда вернусь домой, есть ли причина, по которой http не будет работать?
0

Если вы запускаете свое приложение на устройстве/эмуляторе с Android Pie (9.0) или выше и видите эту проблему, скорее всего, это связано с тем, что для CleartextTraffic установлено значение false, поскольку ОС делает это по умолчанию на этом уровне API или выше.

Посмотрите этот ТАК ответ здесь относительно того, почему это проблема и как ее решить.

Если вы просто хотите запустить его в тестировании и убедиться, что вызов работает, добавьте этот код в свой манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>

И это должно работать. Будьте предупреждены, хотя я отклонил приложения из магазина игр, если я оставлю это в коде релиза.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню