uniapp 真机调试安卓10以下调用https请求报错
"errMsg": "request:fail abort statusCode:-1 Handshake failed"
sslVerify设置为false也是无效果
局域网还是公网测试报错?
这个错误提示表明 SSL 握手失败,这可能是由于 SSL 证书问题导致的。
在默认情况下,Uniapp 在使用 HTTPS 协议进行网络请求时会验证 SSL 证书。如果 SSL 证书无效或不匹配,Uniapp 将拒绝建立连接并返回错误。您可以尝试以下方法解决此问题:
uni.request({
url: 'https://example.com/api',
method: 'POST',
header: {
'Accept-Encoding': 'identity' // 设置请求头部
},
success: function (res) {
console.log(res.data);
}
});
uni.request({
url: 'https://example.com/api',
method: 'POST',
sslVerify: false, // 禁用 SSL 证书验证
success: function (res) {
console.log(res.data);
}
});
但是需要注意的是,禁用 SSL 证书验证会使得请求变得不安全,因为这会让您的应用程序容易受到中间人攻击,从而泄漏敏感信息。因此,如果可能,请尽量避免禁用 SSL 证书验证。