首页 > 解决方案 > HTTP 获取请求(Wordpress 网站 Rest API 调用)在 iOS 应用程序(Ionic4 和 Angular)中不起作用

问题描述

我的 Ionic4 应用程序(带角度)在 PlayStore (Android) 和 App Store (iOS) 中发布。该应用程序预计将显示来自基于 Wordpress 的网站的最新文章。该应用程序发出 HTTP GET 请求以获取 JSON 数据(在 URL  https://website.com/wp-json/wp/v2/posts调用 WordPress REST API )。来自页面 ts 文件的示例代码:

import { HttpClient} from '@angular/common/http';

this.http.get(url).pipe(map(res => {return res}));

我的应用在 Android 中运行良好,但无法在 iOS 设备中显示内容。

Apple 支持团队无法提供帮助,因为他们只查看 swift 代码。对于 Ionic 代码,他们建议从 Ionic 社区专家那里获得帮助。这个问题阻止了我们的发布,并成为我们的表演障碍。我请求您尽快帮助我们解决这个问题。

问候, 南达·基肖尔

标签: ionic-frameworkionic4

解决方案


我也遇到了同样的问题,即iOS设备无法进行 HTTP 调用但android工作正常。

首先,无论平台是否存在,我都检测到platform使用Platform帮助程序类iOS,然后在拨打电话时尝试添加相同的user-agent电话http

callWithUserAgent(url: string) {
    const config = {
      headers: {
        "user-agent": "Mozilla/4.0 (compatible; MSIE 6.0; " + "Windows NT 5.2; .NET CLR 1.0.3705;)"
      }
    }
    return this.httpClient.get(this.baseUrl + url, config);
  }

这对我有用。

添加user-agent听起来很疯狂,但您至少可以尝试。确保添加user-agent小型大写字母。


推荐阅读