首页 > 解决方案 > 从设备应用程序调用 http api

问题描述

我必须在服务器上调用一个api,但它没有https协议,我看到了这篇文章: https://stackoverflow.com/questions/57433362/api-calls-made-in-ionic-4-app-not-working-on-android-device 根据android中的http请求是受限访问。如果不在 Https 中传递我的服务器,我该怎么办?

public showAccepterPart() {
    if (this.numContact !== '') {
      const url = 'server_address/app/interv-app/API-SERVER/AccepterPart.php';
      const dataPost = JSON.stringify({
        numContact : this.numContact,
      });
      this.http.post(url, dataPost).map(res => res.json()).subscribe(data => {
        this.AccepterPart = data;
      });
      this.nativeStorage.setItem(this.key7, JSON.stringify(this.AccepterPart));
      console.log('numContact : ' + this.numContact);
    } else {
      console.log('Pas de numéro');
    }
  }

标签: androidangularcordovaionic-framework

解决方案


我将这些行添加到 project/config.xml 中:

<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" />
        <network-security-config>
            <base-config cleartextTrafficPermitted="true">
                <trust-anchors>
                    <certificates src="system" />
                </trust-anchors>
            </base-config>
        </network-security-config>
    </edit-config>

但它不起作用


推荐阅读