在做微信二次开发的时候,调用网站授权接口会遇到 {'errcode':40029,'errmsg':'invalid code, hints: [ req_id: 0407ns44 ]'}这样的错误。这个问题网上有很多所谓的解决方法,某些也确实能解决,我在开发过程中也遇到相同问题,下面记录一下我的解决方法。

网上很多文章说,微信服务器发起了2次“相同”的请求,第一次请求被其终止掉了,我验证了一下,确实有这么回事。然后很多人讨论如何解决2次请求问题,有加锁的、有try的。有些行有些不行,可以说基本上大部分不行。

后来突然想到一个问题,为什么微信会那么无聊发起两次“相同”的请求呢?应该是有某种目的的吧?研究了一个晚上,发现只要是302定向到接口的就会发起所谓的两次“相同”的请求,就会产生“40029”错误。百度了一下,原来302是一种不稳定的跳转,可能产生网页劫持,微信应该就是因为这个所以做了两次请求。

如果302定向会出问题,那么用301永久定向就没问题了吧?果然用301定向问题解决。我能说脏话么,tmd怎么就不在文档说清楚呢?

下边是301跳转的方法:

(1)用javascript跳转

location.href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect"

(2)服务器301跳转(C#,其它语言自己摸索)

     private void Redirect(string Url){Response.StatusCode = 301;Response.Status = "301 Moved Permanently";Response.AppendHeader("Location", Url);Response.AppendHeader("Cache-Control", "no-cache");Response.End();}

PS:产生40029错误,是因为获取code的那一步跳转出问题,code已经过期,再传到下一步,当然提示code无效啦!

微信公众号网页授权产生 错误代码:40029 真正解决相关推荐

  1. 微信公众号网页授权登录多域名的解决方法

    最近在项目中,由于我们只有一个公众号,但有多个业务系统,就想可以都让同一个公众号授权登录,方便用户的管理.但问题来了,我们都知道微信公众号授权域名只能填写两个,如果我们有多个呢,该如何解决呢. 在网上 ...

  2. 微信公众号网页授权登录多域名的解决

    由于微信网页开发,需要获取用户信息,所以就需要网页授权,但是在微信公众平台公众号只能设置一个回调域名,现在 只有一个公众号,但是我多个业务不同的域名,并都需要拿到用户信息,这时一个回调域名肯定是不能解 ...

  3. 微信公众号网页授权40163问题【php】

    微信公众号网页授权40163问题 tp5为例,emmmm-一直报40163或40029问题,翻遍了各大网站都没找到合适我的办法. 如图: 解决之后如图: 因为重定向所以请求了两次code,所以一直报4 ...

  4. 微信公众号网页授权--前端获取code及用户信息(vue)

    前段时间开发微信公众号网页授权,虽然网上已经有很多关于这方面的博客或者教程,但是第一次开发还是遇到挺多坑的,以下分享一下我的踩坑填坑之路. 一.测试号相关配置 首先在你公司申请的测试号上配置好相关信息 ...

  5. 微信公众号网页授权--前端获取code及用户信息(vue)【简单详细版】

    嗨喽大家好,前段时间开发微信公众号网页授权,虽然网上已经有很多关于这方面的博客或者教程,但是第一次开发还是遇到挺多坑的,以下分享一下我的遇到的一些问题的见解,希望对你们有帮助. 一.测试号相关配置 首 ...

  6. 微信公众号网页授权思路解析及具体代码

    微信公众号网页授权思路解析及具体代码 微信开发文档 实现方式也是两种: 1.静默授权登录 授权登录以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静 ...

  7. 微信公众号网页授权,获取用户信息以及openid -- PHP后台

    微信公众号网页授权,获取用户信息以及openid 这几天做项目,想通过公众号的appid获取用户的openid就,然后在网上查资料,问朋友,最后找到了方法,就是这个网页授权. 起初一直很蒙,这个怎么弄 ...

  8. 微信公众号网页授权时序图

    微信公众号网页授权时序图 公众号网页授权时序图

  9. 微信公众号网页授权登录的超简单实现步骤

    微信开放平台为第三方移动程序提供分享.传播的接口, 使用户可将第三方程序的内容发布给好友或分享至朋友圈, 下面这篇文章主要给大家介绍了关于微信公众号网页授权登录的超简单实现方法, 需要的朋友可以参考下 ...

最新文章

  1. android不同Activity之间的数据共享
  2. C/Cpp / C++ 构造函数和析构函数可以是虚函数吗
  3. 正确使用cookie中的domain
  4. Opencv3编程入门学习笔记(五)之通道分离(split)与合并(merge)
  5. opencv 直方图反向投影
  6. unity改变图片像素大小_类动森像素画反向转换 (xBR)
  7. PHP冒泡排序(Bubble Sort)算法详解
  8. 5-Java多态性理解
  9. redis sentinel集群与spring集成
  10. PaddleOCR-release-2.3\deploy\cpp_infer\src识别中文时出现乱码
  11. 题解【51nod 1290 Counting Diff Pairs】
  12. Qt中鼠标事件捕获与Qt对象事件过滤
  13. 计算机组成原理微指令课程设计,计算机组成原理课程设计(微程序设计) New.doc...
  14. form表单钩子,局部钩子和全局钩子
  15. 触摸芯片的四种多点触摸技术
  16. webstorm下载破解
  17. 三星2022款 The Frame 画壁电视 评测
  18. 实时网速显示_实例_python
  19. 【项目实战】正确辨析蓝绿部署、金丝雀发布(灰度发布)、滚动发布、A/B测试
  20. Python之险种缴费记录管理-保存文件版本

热门文章

  1. 全球主要的域名争议解决机构有哪些?
  2. shell学习之awk
  3. ant+jmeter接口测试
  4. iOS基石——UITextField
  5. 在中国,40岁程序员是如何工作的?
  6. STM32使用ADC+DMA进行多通道模拟量采集 (踩坑及傻瓜式解析)
  7. iptables限制Docker IP和端口访问
  8. 苹果手机android设备可以删除吗,手机系统自带软件怎么卸载?苹果/安卓软件卸载攻略...
  9. 【Leetcode047】有效的字母异位词
  10. 苹果CMS V8 韩剧TV 一款特别精美漂亮的模板 包含PC端+WAP端