ichs
ichs
  • 发布:2019-04-28 19:00
  • 更新:2023-11-02 11:48
  • 阅读:17826

uni.request 个别手机出现网络错误

分类:uni-app

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 负责人:无 分享
已邀请:

最佳回复

陈晨1

陈晨1

安卓端不能发是因为ssl验证有问题导致的。
App-Android平台 新增 uni.request 网络请求增加参数 sslVerify,配置是否验证 ssl 证书。但建议使用普遍受信的证书而不是忽略证书校验。
https://uniapp.dcloud.io/api/request/request

解决方法是:

  • 增加参数sslVerify
  • 换http
  • 使用普遍受信的证书
  • 不要用本地的接口
  • 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

5***@qq.com

5***@qq.com

sslVerify:false也一样不行
被这个问题困扰了一个上午,最后完美解决。
我是前后端分离开发,后端服务器在本机,与HBUILDER是同一台机器。
受人启发,手机安装ping软件,ping后端服务器地址,ping不通,发现手机与服务器不在同一个网段(家里有个二级路由器,可能表述不准确,自以为电脑与手机应该互通)。手机连二级路由器,再ping,通了,问题解决了。

  • 1***@qq.com

    感谢,受启发也解决了,手机跟电脑不早同一个网段导致的,感谢

    2021-05-27 14:22

h***@163.com

h***@163.com

问题+1

问题描述: ios11版本中 request 请求超时,后台收到请求,请求却走fail回调。无错误信息

已设置networkTimeout

接口也是https

ichs

ichs (作者)

这个问题大家都没有碰到吗?

l***@163.com

l***@163.com - liuyuchong

今天ios测试包出现这个了request:fail abort,然后关闭重新打开应用就好了。郁闷!
真机调试偶尔会出现request:fail abortERROR和request:fail timeoutERROR,是接口问题还是?

  • sei摸挑

    遇到同样的问题,每天很多用户都会出现一些request:fail abortERROR和request:fail timeoutERROR,这种问题导致的原因到底是什么

    2019-07-19 13:48

5***@qq.com

5***@qq.com

我也遇到了

予象

予象

现在也是遇到了这种情况,没法调试。什么情况,解决了吗?

ichs

ichs (作者)

还没有解决。从几个不能用的手机上测试来看,安装APP后第一次打开时,提示是否允许使用网络的就可以用,没有这个提示的手机就用不了,主动去设置允许这个APP使用网络并没有效果。

吃辣条的大妖怪

吃辣条的大妖怪 - 宝子们,现在公司没在用app开发了,纯H5开发,之后的后期有空在补笔记

这个问题解决了吗?

xuanyuan95

xuanyuan95 - 红尘秋水,再现尘寰。

苹果和小程序都可以,用安卓就不行

  • y***@sina.com

    请问你解决了吗,我也遇到了同样的问题,苹果可以正常访问,安卓不可以

    2019-09-20 12:21

  • 6***@qq.com

    回复 y***@sina.com: 遇到相同问题,官方一直没有答复,有点崩溃

    2019-09-21 18:09

  • 5***@qq.com

    解决了吗 上午 还没这问题呢

    2019-10-22 09:33

d***@foxmail.com

d***@foxmail.com

请问是什么原因???求官方解答

jieme

jieme

这几天也出现这个问题一直没有解决,模拟器调试的都没问题,安装到真机使用就报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是做统计调用的接口吗?

5***@qq.com

5***@qq.com

检查下代码,请求连接是不是多了个空格, 我就是多了个空格

jwf

jwf

火死了,有时好,有时不好,特别是赶项目的时候,报这个错,搞半天都连不上,还让不让人干活了

4***@qq.com

4***@qq.com

现在用户少量,大约有100个那样,但是一两个苹果手机用户会反应不能登录,确认排除手机网络问题,其他98%用户正常,最后,没有任何解决手段,自动又好了,我很想找到这个原因

z***@wazert.com

z***@wazert.com - zz

依然存在这个问题,android手机

风太大

风太大

uni.request请求http://ip:port/路径,部分手机可以成功,但在华为荣耀V8和华为P30 Pro中出现request:fail abort

  • 风太大

    发现问题原因,用户使用的是WIFI,但不知道为什么wifi会被abort

    2019-11-22 11:31

  • 陈晨1

    回复 风太大: 是的,现在用ip:port开发是有问题

    2019-11-22 11:34

  • 海盗水手

    回复 风太大: 最后怎么解决的?

    2020-06-02 15:56

  • y***@outlook.com

    回复 陈晨1: 如果用ip:port开发 偶尔出现一个这样请求怎么解决啊

    2020-06-16 16:27

最菜的韭菜

最菜的韭菜

我这也是,安卓请求失败,苹果手机请求正常

这不是我没有

这不是我没有

同问,加了sslVerify: false,仍然无效还是{"errMsg":"request:fail abort"}

  • 4***@qq.com

    我跟你一个情况,请问解决了没?

    2019-11-29 13:15

  • 这不是我没有

    回复 4***@qq.com: 换成正式接口https的,或者换个手机就好了

    2019-11-29 13:19

  • 4***@qq.com

    回复 这不是我没有:我就是用正式接口,报这个错误,用的是iphone8,按道理说正式接口不应该出现这个问题的。。。我实在是不知道咋解决了。。。

    2019-11-29 13:21

  • liiil

    回复 4***@qq.com: 请问解决了吗

    2019-12-13 11:42

x***@vip.qq.com

x***@vip.qq.com - 90IT小白白

我的app,ios和安卓第一次安装都有这个问题,重新退出在进入就没有问题了

3***@qq.com

3***@qq.com - php

我也遇到了,啊啊啊

3***@qq.com

3***@qq.com - uni-app开发

我今天也遇到了 ,PC端浏览器调试没问题,安卓真机调试 所有接口 都报request fail abort,求解决办法。

明l天

明l天

所有接口都正常,今天加了一个获取位置,然后给后台传经纬度就报{"errMsg": "request:fail abort statusCode:-1"},方法试了都不行,无语

3***@qq.com

3***@qq.com

uni-app 写的项目,在h5上运行完好,但是一运行到真机上就报错了"errMsg": "request:fail abort statusCode:-1",我把接口的localhost换成电脑的IP地址也不行, 请问大家是怎么解决的啊

  • 残狼之梦

    请问一下,你的这个问题解决了吗?我这边也是Android没问题ios之前也没问题,现在突然就报错“errMsg": "request:fail abort statusCode:-1”了,而且还就一个接口,其它接口没问题

    2020-05-26 16:52

  • 海盗水手

    回复 残狼之梦: 解决了么?

    2020-06-02 16:00

  • 谭小谭

    我也出现了这个问题,还是偶发性的,偶尔报“errMsg": "request:fail abort statusCode:-1”

    2020-06-16 14:58

  • y***@outlook.com

    回复 残狼之梦: 我也是这个情况 请问解决了没

    2020-06-16 16:04

  • mrxu_

    请问解决了么

    2021-08-17 20:14

3***@qq.com

3***@qq.com - 企点邦

安卓的政正常,苹果还是报这个错 “errMsg": "request:fail abort statusCode:-1”

7***@qq.com

7***@qq.com

我这里和你们恰恰相反,我app请求正常,本地预览H5就是一直报错,用postman测试接口没有任何问题,也在封装的请求里面设置了sslVerify:false, 并没有用

7***@qq.com

7***@qq.com

上代码

景风

景风 - 950005

请问楼主解决了没有,升级版本后,出现了request:fail abort statusCode:-1,设置sslVerify:false也一样不行,请问如何处理?

l***@139.com

l***@139.com

访问的目标网站https配置不完整导致的,具体就是没有配置中间证书,nginx加入下面配置,重启nginx即可:
ssl_certificate /pathto/fullchain.pem

fullchain.pem包含中间证书

1***@qq.com

1***@qq.com - yuan

uniapp打包成app请求发不出,报errMsg":"request:fail abort statusCode:-1
;h5是正常的,设置sslVerify:false也一样不行,监听网络正常,手机ping服务器也是通的

越王够贱

越王够贱

有谁具体解决了吗?

  • 景风

    用最新版本,请示头不要带中文就行了

    2020-11-16 13:22

1***@126.com

1***@126.com - 一心一意

我™一后端程序员 初次搞前端 跟头卡的满头包
我卡在了跨域这块:manifest.json中我加了h5的代理跨域相关代码,结果pc可以,Android不可以,去掉后android可以

总结:主要查看 网络、不同平台是否需要代理、跨域、参数、header
Android中的自定义基座请求成功 没有什么代理 没额外配置 代码如下

  • 1***@126.com

    HBuilderX 版本 2.9.8.20201110

    2020-11-27 16:33

1***@qq.com

1***@qq.com

同求pc端可以正常请求,手机调试就报"errMsg": "request:fail abort statusCode:-1" 设置 证书为false也不行

1***@qq.com

1***@qq.com

2021/5/27 也发现了这个问题一直走的是fail err 后来受上面老哥启发,果然手机跟电脑不在同一网段, 电脑连得wifi ,手机用自己的数据流量,一直失败, 后来手机连接wifi 之后 成功登录进去。 希望有这个问题的小伙伴可以有帮助,多一条解决思路。

ichs

ichs (作者)

这个问题比较诡异,已经好几年了一直找不到原因,还是老样子,安卓没有问题,ios个别手机有问题。
今天又有一台iphone14 ios16.4.1,安装了我开发的多个APP,所有APP都是同样的问题:打开APP,提示是否允许网络,选择允许WIFI和蜂窝,出现网络错误 request:fill abort。
重启手机:问题依旧
逐个删除APP,在删除其中一个APP时误操作为【从主屏移除】,再去app store 中选择【打开】,又出现提示是否允许网络,选择允许WIFI和蜂窝,问题消失了。再重装其他APP,全部都可正常使用了。
注:以前出现同样的问题时,多数情况是第一次打开APP时没的提示是否允许网络,人为去设置中设置为全部允许也没有效果。再安装自己开发的其他APP,相同步骤,直到某一个APP首次打开时提示是否允许网络时,选择允许后之前安装的APP也全部都可以使用了。
一直没找到原因,个别苹果手机才出现的问题,不知道怎么解决。

appwociao

appwociao

赶紧弃坑吧

1***@qq.com

1***@qq.com - 隔壁小王同学

这个网络请求里面怎么查看是否有传sslVerify参数呢

要回复问题请先登录注册