当前位置: 首页 > 知识库问答 >
问题:

为什么HTTP流量的错误ERR_CLEARTEXT_NOT_PERMITTED with cleartext是持久的?

闻人志
2023-03-14

问题是,我已经阅读并尝试应用以下解决方案:

  1. https://medium.com/@son.rommer/fix-cleartext-traffic-error-in-android-9-pie-2F4E9E2235E6
  2. https://forum.ionicframework.com/t/livereload-err-cleartext-not-permitted/163487
  3. Android 8:不允许明文HTTP通信
  4. 为什么我在升级到Cordova Android 8后看到net::err_cleartext_not_permitted错误?
  5. 如何修复Flutter中的“net::err_cleartext_not_permitted”
  6. Android Pie:WebView在某些站点上显示纯HTTP错误,即使使用usesClearTextTraffic=“true”
  7. 尽管站点是HTTPS,但显示ERR_CLEARTEXT_NOT_OPERMITLING
  8. 的WebView

但我的应用程序在对API进行查询时总是抛出这个错误。

    <?xml version='1.0' encoding='utf-8'?>
<widget id="com.example" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    ...
    <platform name="android">
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
            <application android:networkSecurityConfig="@xml/network_security_config"/>
            <application android:usesCleartextTraffic="true" />
        </edit-config>
        <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
     ...
</widget>
    <?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
      <domain includeSubdomains="true">localhost</domain>
    </domain-config>
</network-security-config>

使用安全加密协议HTTPS是无效的。API只允许HTTP。

共有1个答案

乐正意智
2023-03-14

2019年12月更新ionic-4.7.1

<manifest xmlns:tools=“http://schemas.android.com/tools”>

<application android:usesCleartextTraffic=“true” tools:targetApi=“28”>

请在android manifest.xml文件中添加上述内容

早期版本的ionic

<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
            <application android:networkSecurityConfig="@xml/network_security_config" />
            <application android:usesCleartextTraffic="true" />
        </edit-config>

确保将其从两个位置删除:

  1. 应用程序清单AndroidManifest.xml
  2. Cordovalib清单AndroidManifest.xml

现在再次尝试构建gradle,现在它成功构建

<application
android:networkSecurityConfig="@xml/network_security_config"  android:usesCleartextTraffic="true" >
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">xxx.yyyy.com</domain>
    </domain-config>
</network-security-config>

这里xxx.yyyy.com是HTTP API的链接。确保在URL之前不包含任何Http。

注意:现在使用Android Studio(build--build bundle's/APK--build APK)构建应用程序,现在您可以使用该应用程序,并且它在Android Pie中运行良好。如果您尝试使用ionic Cordova build android构建应用程序,它会覆盖所有这些设置,所以请确保您使用android Studio构建项目。

如果您安装了任何旧版本的应用程序,请卸载它们并试试看,否则您将留下一些错误:

 类似资料:
  • 问题内容: 我是Java世界和JPA的新手。我在学习JPA时遇到了许多新术语,例如Entity,persistence。在阅读时,我无法理解 Persistence Context 的确切定义。 谁能用简单的外行术语解释它?与中使用的数据有什么关系? 例如,我发现此定义太复杂而难以理解: 持久性上下文是一组实体,因此对于任何持久性标识,都有一个唯一的实体实例。 问题答案: 持久性上下文处理一组实体

  • 持久性上下文是一组实体,因此对于任何持久性标识都有一个唯一的实体实例。

  • 问题内容: 什么是python中的“错误魔术数字” ImportError,如何解决? 我在网上可以找到的唯一东西表明,这是由于编译.py-> .pyc文件,然后尝试将其与错误版本的python一起使用而引起的。但是,就我而言,该文件有时可以很好地导入,而其他时候则不能,并且我不确定为什么。 python在回溯中提供的信息不是特别有用(这就是为什么我在这里询问…的原因),但是在这里它是有帮助的:

  • 我有一个将Apache Ignite用作单节点集群的应用程序。也就是说,Ignite由应用程序启动和停止,其生命周期与应用程序匹配。 Ignite缓存同时启用了持久存储和读通。所以 首先调用cache.get 所有这一切似乎都运转得很好。这是我的问题:有时(经常)当应用程序被跳转或重新部署时,持久存储区数据目录就Apache Ignite而言仍然保持锁定状态。因此,Ignite会无声地创建一个新的

  • 我注意到一件奇怪的事情,显然Firefox说它支持HTTPS上的Brotli,但不支持HTTP?Brotli与gzip类似,但效率更高,为什么它会将其限制为HTTPS?在HTTPS选项卡上,我看到: 他被派去了。但在另一个网站上,我没有看到。为什么它不能做Brotli压缩HTTP?

  • 我想在调度程序任务中更新一些Extbase对象。我正在调用存储库以获取所有对象。然后我设置该对象的一个属性,并尝试更新它。这给我带来了一个例外 给定给更新的“FFPI\FfpiNodeUpdates\Domain\Model\Node”类型的对象必须已被持久化,但它是新的。 供应商/typo3/cms/typo3/sysext/extbase/Classes/Persistence/Generic