Ionic 3 出现错误 - 本机:尝试调用 HTTP.setSSLCertMode,但未安装 HTTP 插件
Posted
技术标签:
【中文标题】Ionic 3 出现错误 - 本机:尝试调用 HTTP.setSSLCertMode,但未安装 HTTP 插件【英文标题】:Ionic 3 getting error - Native: tried calling HTTP.setSSLCertMode, but the HTTP plugin is not installed 【发布时间】:2021-11-10 09:40:58 【问题描述】:我想在我的 ionic 3 应用中实现 ssl pinning。我已经使用以下链接安装了@ionic/native http 插件 - https://ionicframework.com/docs/v3/native/http/
一切都设置好后,当我尝试运行应用程序时,它显示以下错误 -
Native:尝试调用 HTTP.setSSLCertMode,但未安装 HTTP 插件。 安装 HTTP 插件:'ionic cordova plugin add cordova-plugin-advanced-http'
我已经尝试了所有可能的在线解决方案,但仍然无法正常工作。
我尝试将代码移动到平台就绪函数中,插件引用似乎很好,我尝试清理然后 npm install,仍然没有运气。
这里出了什么问题? 非常感谢您的帮助,因为我现在正在摸不着头脑!
提前致谢!
更新
this.http.setSSLCertMode("pinned")
.then((res) => console.log(res))
.catch((err) => console.log(err));
this.http.get("url", ,)
.then((data) => console.log(data))
.catch((err) => console.log(err));
这是我的代码。如果我删除代码中的 setSSLCetMode 部分,则错误消失并发出 GET 请求。
为什么会发生这种行为?
【问题讨论】:
所以你也运行这个命令?ionic cordova plugin add cordova-plugin-advanced-http
是的,我在@ionic/native http 之前添加了这个命令
请检查我更新的问题
【参考方案1】:
您可能想尝试删除您正在生成构建的任何平台,以便将其添加回来。该插件可以从您的 package.json 为您的项目安装,但不适用于您使用的特定平台:
ionic cordova platform rm <insert platform here>
然后
ionic cordova platform add <insert platform here>
之后重建您的项目。似乎很清楚,它认为您没有安装该特定插件,因此它必须以某种方式甚至间接地与之相关。也可能是您还需要更新插件。
【讨论】:
我已经尝试删除并重新添加平台,但它没有帮助我更新了我的问题,如果我删除 this.http.setSSLCertMode 行,则检测到插件并发出请求。以上是关于Ionic 3 出现错误 - 本机:尝试调用 HTTP.setSSLCertMode,但未安装 HTTP 插件的主要内容,如果未能解决你的问题,请参考以下文章
我尝试在我的 android 设备上运行 ionic 应用程序并且出现错误
Ionic 3 - 内联视频在 iOS 10 的本机播放器中全屏打开