不允许使用明文HTTP流量到192.168.1.2

问题描述 投票:1回答:1
String login_url = "http://192.168.1.2/login.php";   
URL url = new URL(login_url");
HttpURLConnection httpURLConnection = 
(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
....

我想向wampserver发送请求,但Android Studio会在标题上停止执行该消息。怎么了?我刚刚将Android Studio更新到最新版本(P)。这不是错误,我可以正常工作......我该如何解决这个问题?

http android-studio https
1个回答
7
投票

根据Network security configuration -

从Android 9.0(API级别28)开始,默认情况下禁用明文支持。

还看看 - https://koz.io/android-m-and-the-war-on-cleartext-traffic/

选项1 -

创建文件res / xml / network_security_config.xml -

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">Your URL(ex: 127.0.0.1)</domain>
    </domain-config>
</network-security-config>

AndroidManifest.xml -

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

选项2 -

AndroidManifest.xml -

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

同样,@david.s' answer指出android:targetSandboxVersion也可能是一个问题 -

根据Manifest Docs -

android:targetSandboxVersion

此应用程序要使用的目标沙箱。沙箱版本号越高,安全级别越高。其默认值为1;您也可以将其设置为2.将此属性设置为2会将应用程序切换到另一个SELinux沙箱。以下限制适用于2级沙箱:

  • 网络安全配置中的usesCleartextTraffic的默认值为false。
  • 不允许共享Uid。

选项3 -

如果你在android:targetSandboxVersion<manifest>然后把它减少到1

AndroidManifest.xml -

<?xml version="1.0" encoding="utf-8"?>
<manifest android:targetSandboxVersion="1">
    <uses-permission android:name="android.permission.INTERNET" />
    ...
</manifest>
© www.soinside.com 2019 - 2024. All rights reserved.