uni-app 个别安卓手机通过uni.request发送请求失败

uni-app 个别安卓手机通过uni.request发送请求失败

开发环境 版本号 项目创建方式
Windows 19042.1415 HBuilderX
### 操作步骤:

通过uni.request发送请求到服务器
```uni.request({
url: url,
method:'POST',
data: data,
dataType: 'json',
sslVerify:false,
header: headers
})

预期结果:

请求接口成功


### 实际结果:

请求接口失败

bug描述:

app和支付宝小程序发送请求失败。以前个别客户也遇到这个问题,通过设置sslVerify:false不验证证书解决了问题,但现在有客户的小米max手机不管是app或者小程序都发送失败,设置了sslVerify:false不生效,请求这个问题要如何解决


更多关于uni-app 个别安卓手机通过uni.request发送请求失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

12 回复

请求错误的返回值是什么,

更多关于uni-app 个别安卓手机通过uni.request发送请求失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


自己公司的测试机还原不了,只有个别客户反映到我这边,无法看到错误返回值。

回复 3***@qq.com: 这样确实不好定位问题啊.

回复 小枫叶: 我发了一个测试包给客户试了一下,接口链接是http协议的能访问,https协议的就不能访问

测试demo发一下,还有就是,你服务器端有没有部署ssl

可能是客户网络环境问题 让客户试下移动4G、5G流量

应该不是吧,从上周到今天出现了3个客户有问题了,有的客户几台手机有个别手机出现问题的,目前出现问题的有小米max、华为麦芒5

回复 3***@qq.com: 这种问题 最好拿到真机实际测试下。目前你提供的信息无法评定问题原因

回复 DCloud_Android_ST: 现在我这边没有找到真机调试复现问题,只有个别客户才出现,真头疼

回复 DCloud_Android_ST: 经过调试,发现会报这个错误“此服务器证书无效,您可能正在连到一个伪装的服务器 ”,这个有无好的解决方法,不换证书的前提下

回复 3***@qq.com: 好像只能给服务器重新换个ssl证书

根据你的描述,问题集中在个别安卓设备(特别是小米Max)上,uni.request 请求失败,且设置 sslVerify: false 无效。这通常与设备系统、网络环境或证书配置有关。以下排查方向供参考:

  1. 检查网络环境与代理
    确保设备网络正常,未开启代理或VPN。部分安卓机的网络设置(如私人DNS、证书安装)可能干扰请求。

  2. 尝试调整请求超时时间
    uni.request 中增加 timeout 参数(单位ms),避免因网络延迟导致失败:

    uni.request({
      timeout: 10000, // 10秒超时
      // 其他参数...
    })
    
  3. 确认服务器证书兼容性
    部分老旧安卓设备(如小米Max系统版本较低)可能不兼容服务器使用的TLS协议或证书链。可尝试:

    • 服务器配置支持TLS 1.2或更低版本。
    • 检查证书是否由受信任的CA签发,或尝试更换证书(如Let’s Encrypt)。
  4. 使用HTTP替代HTTPS测试
    若为测试环境,可临时将请求改为HTTP(需服务器支持),确认是否为HTTPS证书问题。注意:正式环境务必使用HTTPS。

  5. 排查设备系统限制
    部分安卓机有“流量节省”或“安全扫描”功能,可能拦截请求。尝试关闭相关设置,或检查是否安装了第三方安全软件。

  6. 收集详细错误信息
    fail 回调中打印完整错误,辅助定位:

    uni.request({
      // 参数...
      fail: (err) => {
        console.error('请求失败详情:', err.errMsg, err.statusCode, err.data);
      }
    })
回到顶部