请求出错:不允许与本地主机进行明文HTTP通信。

5
我正在使用 Capacitor 开发 Ionic 4 应用,尝试从本地主机调用 API,但是出现了以下错误:请求存在问题:不允许与 localhost 进行明文 HTTP 通信
1个回答

13
自 Android 9 开始,他们试图鼓励人们使用 HTTPS API 而不是 HTTP。但是有方法可以禁用它。
简单的答案是通过修改 AndroidManifest.xml 并将 android:usesCleartextTraffic="true" 添加到应用程序中来允许整个应用程序中的 HTTP。
<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:usesCleartextTraffic="true"

如果您需要更精细调整的面向特定领域的方法,我建议阅读这篇文章:https://developer.android.com/training/articles/security-config#CleartextTrafficPermitted


你好tobika,感谢您的回复。我已经修改了AndroidManifest.xml并且得到了另一个错误信息:“请求出现错误:无法连接到localhost/127.0.0.1:80”,您有什么解决方法吗?提前致谢 - user5946061
1
也许你应该发起另一个问题?只是为了确保(因为也许我误解了),你也在调用运行在本地主机上的API吗?在Android应用中,本地主机指的是手机而不是你的电脑,以防万一问题出在那里。 - tobika

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接