uniapp在安卓上运行时报错:request:fail abort statuscode:-1 read error: ssl=0x 如何解决

在uniapp开发的安卓应用运行时出现报错:“request:fail abort statuscode:-1 read error: ssl=0x”,导致网络请求失败。请问这个问题是什么原因引起的?应该如何解决?

2 回复

检查网络连接和SSL证书。可能是证书过期或不受信任。尝试在HBuilderX中勾选“不校验合法域名”,或检查服务器TLS版本是否支持。


这个错误通常是由于SSL证书验证失败或网络请求被中断导致的。以下是几种解决方案:

1. 检查网络权限配置

manifest.json 中添加网络权限:

{
  "app-plus": {
    "distribute": {
      "android": {
        "permissions": [
          "<uses-permission android:name=\"android.permission.INTERNET\"/>"
        ]
      }
    }
  }
}

2. 配置SSL验证(开发环境)

manifest.json 中临时关闭SSL验证:

{
  "app-plus": {
    "ssl": {
      "verify": false
    }
  }
}

3. 检查请求域名

确保请求的域名支持HTTPS,且在合法域名列表中配置:

// main.js
uni.request({
  url: 'https://your-domain.com/api',
  success: (res) => {
    console.log(res.data)
  },
  fail: (err) => {
    console.log('请求失败:', err)
  }
})

4. 检查服务器证书

  • 确保证书有效且未过期
  • 检查证书链是否完整
  • 确认支持的TLS版本(建议TLS 1.2+)

5. 使用try-catch处理异常

try {
  const res = await uni.request({
    url: 'your-url',
    method: 'GET'
  })
} catch (error) {
  console.log('请求异常:', error)
}

6. 检查网络环境

  • 确保设备网络连接正常
  • 检查是否被防火墙或安全软件拦截
  • 尝试切换WiFi/移动数据

建议按顺序排查,优先检查网络权限和SSL配置。生产环境不建议关闭SSL验证。

回到顶部