UniApp中iOS Https请求不进行SSL证书校验的方法

在UniApp中,我们经常会遇到需要进行Https请求的情况,但有时候由于SSL证书的问题导致请求失败。如果我们确定目标服务器是可信的,可以通过设置不进行SSL证书校验的方式来解决这个问题。

解决方案

我们可以通过修改info.plist文件来关闭iOS端的SSL证书校验,从而实现Https请求不进行SSL证书校验。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

在UniApp中,我们可以通过在manifest.json文件中配置app-plus字段来修改info.plist文件,具体配置如下:

"app-plus": {
    "ios": {
        "plist": {
            "NSAppTransportSecurity": {
                "NSAllowsArbitraryLoads": true
            }
        }
    }
}

示例代码

下面是一个简单的示例代码,演示了如何在UniApp中进行Https请求不进行SSL证书校验:

uni.request({
    url: '
    method: 'GET',
    success: res => {
        console.log('请求成功', res.data);
    },
    fail: err => {
        console.log('请求失败', err);
    }
});

流程图

通过下面的流程图,我们可以清晰地看到修改info.plist文件的整个流程:

flowchart TD
    A[开始] --> B[配置info.plist]
    B --> C[修改NSAppTransportSecurity]
    C --> D[关闭SSL证书校验]
    D --> E[结束]

关系图

下面是一个简单的关系图,表示UniApp中iOS Https请求不进行SSL证书校验的关系:

erDiagram
    HTTP请求 --> SSL证书
    SSL证书 --> 服务器
    HTTP请求 --> 服务器

通过上面的步骤,我们可以成功在UniApp中实现iOS Https请求不进行SSL证书校验,确保我们可以正常发送请求并获取响应数据。在配置完毕后,记得重新编译应用程序,并在实际使用中进行测试,确保一切正常。