Почему http запросы не отправляются? Android Студия - дооснащение - PullRequest
0 голосов
/ 05 февраля 2020

Я использую Retrofit в Android studio - java. Я пытаюсь отправить http-запрос на указанный c ip, и когда я пытаюсь прослушать пакеты во время работы приложения в эмуляторе, я не вижу ни одного http-пакета в списке, который был отправлен на указанный сервер. c ip.

Здесь я пытаюсь отправить http-запросы:

IService service = retrofit.create(IService.class);
        Call<LoginResponse> call = service.Login(loginRequest);
        call.enqueue(new Callback<LoginResponse>() {

            @Override
            public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response)
            {
                Response = response.body();
            }

            @Override
            public void onFailure(Call<LoginResponse> call, Throwable t) {
                Response = new LoginResponse("Error with the communication with the server!", null);
            }
        });

        return (LoginResponse) Response;

Это мой сервис:

public interface IService
{

    @POST("api/users/login")
    Call<LoginResponse> Login(@Body LoginRequest loginRequest);


}

Не могу понять, где Я поступил неправильно. Спасибо.

Ответы [ 2 ]

1 голос
/ 05 февраля 2020

В Android Просмотр структуры:

Манифест -> AndroidManifest. xml:

Также предоставьте варианты использованияCleartextTraffi c так это не даст вам ошибку при отправке Resposne на IP

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>
0 голосов
/ 05 февраля 2020

Пожалуйста, проверьте ваш URL, если это http или https. Если ваш URL-адрес http и вы получили эту ошибку,

связь CLEARTEXT с ** не разрешена политикой безопасности сети

, это связано с тем, что поддержка открытого текста отключена по умолчанию, начиная с Android 9 (уровень API 28).

https://developer.android.com/training/articles/security-config#CleartextTrafficPermitted

В этом случае добавьте android: ИспользоватьCleartextTraffic = "true" в тег приложения AndroidManifest. xml.

<application
    android:name=".App"
    android:allowBackup="false"
    android:fullBackupContent="false"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    android:usesCleartextTraffic="true">

Если нет, опубликуйте описание ошибки. Надеюсь быть полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...