微信公众号开发五秒内不能返回结果防止微信服务器再次通知

在公众号开发中如果我们不能再五秒内给予微信服务器响应,那么微信服务器就会断开连接并且重新发起通知,会连续通知三次。

这样会造成一个问题就是,我们的业务逻辑如果不能保证五秒内回复微信的通知那么微信就会给我们连续通知三次,造成业务逻辑代码执行三次,给用户连续推送三次我们期望的通知。
在这里插入图片描述

最近开发中就遇到了这个坑微信告诉我们如果不能再五秒内通知之后直接返回success,那样微信服务器就不会断开连接并且不会再次通知,但是试了一下还是不行,在网上找到了一个方法(我用的是php)

                        ignore_user_abort(true);
                        ob_start(); //打开输出控制缓冲
                        echo 'success'; // 返给微信服务器的字符串
                        header('Connection: close');//关闭http
                        header('Content-Length: ' . ob_get_length());
                        header('X-Accel-Buffering: no');//nginx
                        ob_end_flush();
                        ob_flush();
                        flush();

这样就可以断开连接了
要注意的是一定要在业务逻辑前面加不然不好使

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值