uni-app使用https格式请求报错 {"errMsg":"request:fail abort statusCode:-1 Android internal error"}

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app使用https格式请求报错 {“errMsg”:“request:fail abort statusCode:-1 Android internal error”}

项目信息

项⽬创建方式 开发环境 版本号
10 回复

更新:不支持域名有下划线
感谢反馈,你可以试一下 postman 等方案对比一下,确定是后台 api 的问题,还是前端发送请求数据包装的问题。现在信息有限,如果可以补充更多信息,提供更多信息,有助于定位和解答你的问题。


{ “errMsg”: “request:fail abort statusCode:-1 Android internal error”, “config”: { “baseURL”: “https://test_area.zklpt.top/yxp/api/v1/app”, “method”: “POST”, “url”: “/driver/getVersionById”, “params”: {}, “custom”: { “reqKey”: “/driver/getVersionById&{“versionNo”:201}” }, “header”: { “Content-Type”: “application/json” }, “validateStatus”: “function() { [native code] }”, “data”: { “versionNo”: 201 }, “timeout”: 20000, “dataType”: “json”, “responseType”: “text”, “sslVerify”: false, “firstIpv4”: false, “fullPath”: “https://test_area.zklpt.top/yxp/api/v1/app/driver/getVersionById” } } postman请求正常

回复 程序员不掉发: 看不出问题来,测试这个是否正常 https://request.dcloud.net.cn/api/http/method/get ,也检查是否 ssl 证书配置是否这个正常

回复 DCloud_UNI_OttoJi: 不支持域名有下划线

回复 程序员不掉发: 这个是你的测试结果吗?改成其他域名就正常了?

回复 DCloud_UNI_OttoJi: 对的,改成了中划线

回复 程序员不掉发: 确实,我也遇到这个问题了,域名把下划线去掉安卓就可以了

看不出问题来,测试这个是否正常 https://request.dcloud.net.cn/api/http/method/get ,也检查是否 ssl 证书配置是否这个正常

在处理 uni-app 中使用 HTTPS 请求时遇到的错误 {"errMsg":"request:fail abort statusCode:-1 Android internal error"},通常这类错误可能与网络请求配置、证书验证或系统环境相关。以下是一个基本的 HTTPS 请求代码示例以及一些可能的调试方向,但请注意,由于问题可能涉及多方面因素,具体解决方案可能需要根据你的实际环境进行调整。

HTTPS 请求示例

首先,确保你的 uni-app 项目中正确配置了 HTTPS 请求。以下是一个基本的请求示例:

uni.request({
    url: 'https://example.com/api/data', // 替换为你的HTTPS接口地址
    method: 'GET',
    header: {
        'Content-Type': 'application/json'
    },
    success: (res) => {
        console.log('请求成功:', res.data);
    },
    fail: (err) => {
        console.error('请求失败:', err);
    }
});

可能的调试方向

  1. 检查服务器证书

    • 确保服务器使用的 SSL/TLS 证书是有效的,并且是由受信任的证书颁发机构(CA)签发的。
    • 如果使用自签名证书,你可能需要在 Android 设备上手动安装该证书,或者配置应用信任该证书。
  2. 网络权限

    • 确保 AndroidManifest.xml 文件中已经添加了必要的网络权限,例如:
      <uses-permission android:name="android.permission.INTERNET"/>
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
      
  3. Android 系统配置

    • 检查 Android 设备或模拟器的网络设置,确保没有阻止应用访问网络。
    • 尝试在不同的网络环境(如 Wi-Fi、4G/5G)下运行应用,看是否能复现问题。
  4. 调试和日志

    • 使用 Android Studio 或其他调试工具查看更详细的日志信息,可能会提供更多关于错误原因的线索。
    • 检查是否有其他系统级别的错误或警告信息。
  5. 代码和环境一致性

    • 确保在不同的开发环境和设备上都进行了测试,以排除特定环境导致的问题。

由于错误信息中的 statusCode:-1 通常指示了一个底层的、非HTTP标准的错误,这往往与设备的网络配置或系统环境有关。如果上述方法无法解决问题,可能需要更深入地检查设备或网络的具体配置,或者考虑与设备制造商或网络提供商联系以获取支持。

回到顶部