uni-app中使用 uni.request 请求网络数据,app已上线使用,但个别苹果手出现无法请求网络数据的情况。
开始时怀疑是手机没有允许该APP使用网络,检查后并不是这个问题,后来让客户删除APP,重启手机后再安装一次就好了。
今天又有其他客户反应同样问题,按老办法:删除APP,重启手机,重装APP。可是问题还是在
同样的代码改了个名称打包的另一个APP,在同一手机上却又没有这个问题。
这问题似乎应该是手机设置没有允许该APP使用网络造成的,可是去设置中查看,是允许的。改成不允许后再改回允许,也还是没有用。
而且只是个别手机出现这个问题,没法调试啊。
有没有人碰到过同样的问题呢,我找不到线索。
uni.request({
url: url,
header: {
method: 'Login',
},
data: {
UserID: userID,
Password: password
},
method: "POST",
success: function(res) {
//...........
},
fail: function(err) {
console.log(err);
//这里报错 err.errMsg = "request:fail abort"
}
});
- 发布:2019-04-28 19:00
- 更新:2024-10-24 10:10
- 阅读:19368
uni.request 个别手机出现网络错误
最佳回复
安卓端不能发是因为ssl验证有问题导致的。
App-Android平台 新增 uni.request 网络请求增加参数 sslVerify,配置是否验证 ssl 证书。但建议使用普遍受信的证书而不是忽略证书校验。
https://uniapp.dcloud.io/api/request/request
解决方法是:
- 增加参数sslVerify
- 换http
- 使用普遍受信的证书
- 不要用本地的接口
sslVerify:false也一样不行
被这个问题困扰了一个上午,最后完美解决。
我是前后端分离开发,后端服务器在本机,与HBUILDER是同一台机器。
受人启发,手机安装ping软件,ping后端服务器地址,ping不通,发现手机与服务器不在同一个网段(家里有个二级路由器,可能表述不准确,自以为电脑与手机应该互通)。手机连二级路由器,再ping,通了,问题解决了。
l***@163.com - liuyuchong
今天ios测试包出现这个了request:fail abort,然后关闭重新打开应用就好了。郁闷!
真机调试偶尔会出现request:fail abortERROR和request:fail timeoutERROR,是接口问题还是?
这几天也出现这个问题一直没有解决,模拟器调试的都没问题,安装到真机使用就报I/console: [ERROR]request:fail timeout错误。调试输出还发现W/System.err: java.net.SocketTimeoutException: failed to connect to tongji.dcloud.io/47.110.164.139 (port 443) after 60000ms 错误,这个是dcloud是做统计调用的接口吗?
同问,加了sslVerify: false,仍然无效还是{"errMsg":"request:fail abort"}
-
回复 这不是我没有:我就是用正式接口,报这个错误,用的是iphone8,按道理说正式接口不应该出现这个问题的。。。我实在是不知道咋解决了。。。
2019-11-29 13:21
uni-app 写的项目,在h5上运行完好,但是一运行到真机上就报错了"errMsg": "request:fail abort statusCode:-1",我把接口的localhost换成电脑的IP地址也不行, 请问大家是怎么解决的啊
访问的目标网站https配置不完整导致的,具体就是没有配置中间证书,nginx加入下面配置,重启nginx即可:
ssl_certificate /pathto/fullchain.pem
fullchain.pem包含中间证书
1***@qq.com - yuan
uniapp打包成app请求发不出,报errMsg":"request:fail abort statusCode:-1
;h5是正常的,设置sslVerify:false也一样不行,监听网络正常,手机ping服务器也是通的
1***@126.com - 一心一意
我™一后端程序员 初次搞前端 跟头卡的满头包
我卡在了跨域这块:manifest.json中我加了h5的代理跨域相关代码,结果pc可以,Android不可以,去掉后android可以
总结:主要查看 网络、不同平台是否需要代理、跨域、参数、header
Android中的自定义基座请求成功 没有什么代理 没额外配置 代码如下
2021/5/27 也发现了这个问题一直走的是fail err 后来受上面老哥启发,果然手机跟电脑不在同一网段, 电脑连得wifi ,手机用自己的数据流量,一直失败, 后来手机连接wifi 之后 成功登录进去。 希望有这个问题的小伙伴可以有帮助,多一条解决思路。
ichs (作者)
这个问题比较诡异,已经好几年了一直找不到原因,还是老样子,安卓没有问题,ios个别手机有问题。
今天又有一台iphone14 ios16.4.1,安装了我开发的多个APP,所有APP都是同样的问题:打开APP,提示是否允许网络,选择允许WIFI和蜂窝,出现网络错误 request:fill abort。
重启手机:问题依旧
逐个删除APP,在删除其中一个APP时误操作为【从主屏移除】,再去app store 中选择【打开】,又出现提示是否允许网络,选择允许WIFI和蜂窝,问题消失了。再重装其他APP,全部都可正常使用了。
注:以前出现同样的问题时,多数情况是第一次打开APP时没的提示是否允许网络,人为去设置中设置为全部允许也没有效果。再安装自己开发的其他APP,相同步骤,直到某一个APP首次打开时提示是否允许网络时,选择允许后之前安装的APP也全部都可以使用了。
一直没找到原因,个别苹果手机才出现的问题,不知道怎么解决。
jieme
那不需要ssl证书认证请求,把uni.request中的改为 sslVerify设置为false,刚试了下果然可以。 这个问题困扰了35个小时
2019-09-27 15:21
鬼
sslVerify设为false,模拟器依然报fail abort错误。
如何使用普遍受信的证书?有无教程说明?
2019-09-27 16:56
d***@foxmail.com
就是证书的问题
2019-09-28 09:43
陈晨1
回复 鬼: 检查下你是更新的HBuilderX 2.3.3+吗?
2019-09-29 10:29
鬼
回复 陈晨1: 是的
2019-09-29 11:17
陈晨1
回复 鬼: 私信发你们接口我试试
2019-09-29 12:18
4***@qq.com
我是最新版 今天也遇见了这个问题 加了sslVerify:false,也不好用 后来出去吃个饭 回来又好用了 sslVerify:false,每一个request都需要加么
2019-09-29 12:23
4***@qq.com
sslVerify:false,有没有 能配置全局的方法
2019-09-29 12:23
陈晨1
回复 4***@qq.com: 你可以对request封装全局的请求
2019-09-29 14:26
鬼
回复 陈晨1: 我用get请求和加application/x-www-form-urlencoded这个header的post请求都可以,但是用application/json这个header的post不行
2019-10-12 10:20
鬼
http://47.106.72.188/diapi/gateway/userGatewayList?access_token=395b521555724ac92e2b343edaea5035&isscene=0&search=1,{
"username": "usb11",
"isDelete": 1
}
这个post,application/json接口
2019-10-12 10:24
陈晨1
回复 鬼: 报什么错?
2019-10-12 10:31
呆呆呆呆呆俊
回复 鬼: Hi,该问题有做解决吗
2019-10-12 14:05
呆呆呆呆呆俊
回复 陈晨1: Hi,设置为false目前是不可行的,若默认为true,该怎么避免这个证书的问题呢?个人使用的接口为本地运行,H5正常。
2019-10-12 14:33
陈晨1
回复 呆呆呆呆呆俊: 设置false有报错吗?
2019-10-12 14:40
呆呆呆呆呆俊
回复 陈晨1: 仍然为 fail abort
2019-10-12 14:42
呆呆呆呆呆俊
回复 陈晨1: uni.request({
url: requestUrl,
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
sslVerify: false,
method: 'POST',
data: {
mobile: this.mobile,
name: this.name,
pwd: this.password
},
success: (res) => {
console.log('request success', res)
uni.showToast({
title: '请求成功',
icon: 'success',
});
this.res = '请求结果 : ' + JSON.stringify(res);
},
fail: (err) => {
console.log('request fail', err);
uni.showModal({
content: err.errMsg,
showCancel: false
});
},
complete: () => {
this.loading = false;
}
});
2019-10-12 14:45
鬼
回复 陈晨1: 还是fail abort错误
2019-10-12 15:15
陈晨1
回复 呆呆呆呆呆俊: 私信我你们可以调用的接口我试试
2019-10-12 15:58
1***@163.com
回复 鬼: 这个问题你解决了吗
2019-10-22 09:51
1***@163.com
回复 呆呆呆呆呆俊: 这个问题后来解决了吗
2019-10-22 09:51
鬼
回复 1***@163.com: 我的是模拟器出问题,真机没问题
2019-10-22 14:25
JakeWarthon
回复 陈晨1: 2.2.2的版本非自定义组件下有办法吗
2019-10-25 14:14
5***@qq.com
回复 陈晨1: 这个问题到底解没解决啊 麻烦告知一下
2019-11-04 19:38
5***@qq.com
回复 1***@163.com: 请问这个问题解决了吗
2019-11-04 19:59
1***@qq.com
sslVerify设为false,模拟器依然报fail abort错误。换成 https 的线上链接正常
2019-11-09 18:04
陈晨1
回复 5***@qq.com: 你那边是啥情况,用的是https证书有效的链接吗?
2019-11-09 18:18
陈晨1
回复 1***@qq.com: 说明你们测试链接有问题,可能不是证书的事
2019-11-09 18:18
1***@qq.com
回复 陈晨1: 测试链接有问题是啥意思??
2019-11-09 18:33
陈晨1
回复 1***@qq.com: 你不是说线上链接没问题吗?难道你报错的不是测试链接吗
2019-11-09 18:43
1***@qq.com
回复 陈晨1: 对的,但是访问的后台接口都是一套,本地用的 http://ip:port 的方式,然后就报错。所以到底本地接口错哪儿了
2019-11-16 19:50
陈晨1
回复 1***@qq.com: https://blog.csdn.net/b376924098/article/details/80579393
2019-11-18 10:28
1***@qq.com
请问访问https://ip:port地址报错问题,有解决吗?如果有人已经解决了,麻烦回复一下。
2019-11-26 20:30
1***@qq.com
iOS访问 http://ip:port 这种网址,报错fail abort,有解决方法吗?Android的已通过sslVerify:false解决
2019-11-29 00:30
阿肥
这个问题还没有解决么?我这边也是,用的是HbuilderX版本是:2.4.6.20191210
14:32:19.524 请求接口https://wxtest.qhxwl.com:19443/mkte/v1/enterprise/checkAccountStatus, {"token":"xxxxx"} at api\api.js:5
14:32:50.675 request:fail abort
安卓手机,自定义基座调试还是出现这个问题,证书在微信小程序是没有什么问题的,但是在app就不行
2019-12-17 14:35
1***@qq.com
回复 4***@qq.com:我今天也遇到这个问题了,我把uni.request()方法重新封装了解决的
2020-01-03 09:45
1***@qq.com
回复 陈晨1: 我知道是什么问题了,我手机有全局网络代理,给我拦截了
2020-01-09 15:44
优优易招
设置sslVerify: false,果然可以,但不知道之后会不会出现此类问题
2020-04-14 10:20
海盗水手
回复 呆呆呆呆呆俊: 后来怎么解决的?
2020-06-02 15:53
海盗水手
回复 优优易招: 我的设置false怎么不好使呢
2020-06-02 15:54
谭小谭
我偶发性报“errMsg": "request:fail abort statusCode:-1”是怎么回事呢,同一个接口,一会儿通一会不通的
2020-06-16 14:59
y***@outlook.com
回复 1***@qq.com: 请问 ios request:fail abort statusCode:-1 解决了吗
2020-06-16 16:24
y***@outlook.com
回复 谭小谭: 我也是就一个接口
2020-06-16 16:24
3***@qq.com
回复 鬼: 我也是 使用证书还报错
2020-06-16 17:56
谭小谭
回复 3***@qq.com: 我也是,证书验证false,还是偶尔报错
2020-06-17 09:51
阿肥
请求为https,换了Let's Encrypt的证书,也设置验证为false,但是安卓机还是偶尔会出现,而且在wifi状态下概率很大
2020-07-06 11:16
旺仔牛奶
回复 谭小谭: 请问解决了吗 我也是一会儿正常一会儿不行
2020-07-16 15:23
1***@qq.com
回复 谭小谭: 我的也是,证书验证也是false,
2020-10-10 09:38
3***@qq.com
"errMsg": "request:fail abort statusCode:undefined" ios 13.6 Hbuilder X 2.8.8.20200820 显示这个错误 如何处理 在pc模拟器 接口可以走通 ios 真机 提示上述错误 如何处理 谢谢
2020-11-29 19:39
3***@qq.com
回复 陈晨1: "errMsg": "request:fail abort statusCode:undefined" ios 13.6 Hbuilder X 2.8.8.20200820 显示这个错误 如何处理 在pc模拟器 接口可以走通 ios 真机 提示上述错误 如何处理 谢谢
2020-11-29 19:39
jieme
有个需求只能用自定义签发的 ssl 证书,若在安卓设备uni.request因不是因为机构颁发证书会请求失败,如果在自定义基座里面继承DCloudApplication 后获取SSL上下文对象,并初始化信任管理器,是否可以托管uni.request请求呢
2020-12-16 12:59
c***@qq.com
请问一下,我遇到同样的问题。加上sslVerify=false. 就可以访问了。但证书是机构发的。哪如何知道自己的证书是普遍受信呢?要哪一家的呢?
2022-08-13 13:53