Открытый HTTP-трафик не разрешен - PullRequest
0 голосов
/ 22 февраля 2019

Я работаю в одном проекте и застрял в реализации страницы входа / регистрации.Когда я пытаюсь реализовать код, он выдает ошибку Cleartext HTTP traffic to 192.168.1.130 not permitted.Я проверил ipconfig, и это был мой IPv4, поэтому я добавил 192.168.1.130, но я также проверил 127.0.0.1, но это тоже не работает.

Я пытался реализовать <domain includeSubdomains="true">192.168.1.130</domain>, однако, что он не работает (реализация android:usesCleartextTraffic="true" тоже не работает).

Я использую XAMPP для серверной части иесли я запускаю PHP-код, все работает хорошо, так что никаких проблем с этим.Проблема в Android Studio (я использую Kotlin).

Для эмулятора я использую эмулятор Genymotion (он использует VirtualBox).

Вот код кнопки, которая принимает url.Я все проверил, но все равно ничего не достиг.

login.setOnClickListener {
            var url = "http://192.168.1.130/php/login.php?mobile=" + login_user.text.toString() +
                    "&password=" + login_password.text.toString()

Ответы [ 3 ]

0 голосов
/ 10 апреля 2019

Добавьте это в свой манифест

android:usesCleartextTraffic="true"

вот так ..

<application
    android:icon="@mipmap/ic_launcher"
    android:usesCleartextTraffic="true"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
...
 </application>
0 голосов
/ 03 июня 2019

Недавно я столкнулся с той же проблемой с пирогом Android 9.

Я добавил в свой манифест

android:usesCleartextTraffic="true"
tools:ignore="UnusedAttribute"

Вторая строка упоминается, чтобы игнорировать предупреждение для SDK менее 23.

0 голосов
/ 22 февраля 2019

Чтобы сделать это в Android 9 Pie, вам нужно установить networkSecurityConfig в теге приложения Manifest следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
     <application android:networkSecurityConfig="@xml/network_security_config">
     </application>
</manifest>

Затем создать XML-файл с именем network_security_config, точно так же, как вы назвали его вМанифест и оттуда содержимое вашего файла должно быть таким, чтобы разрешить все запросы без шифрования:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

Если это не работает, сделайте запрос из защищенного домена (HTTPS).

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