zl程序教程

您现在的位置是:首页 >  后端

当前栏目

微信 "公众平台测试账号" 登陆失败的解决方法与分析

方法测试微信平台 解决 分析 失败 登陆
2023-06-13 09:17:14 时间

用公众号开发微信相关的项目,可以通过微信公众平台 (https://mp.weixin.qq.com) 提供的“公众平台测试账号”做内测。

在使用“公众平台测试账号”时,第一步是扫描二维码登陆到“公众平台测试账号”的页面,你也许会在这一步就会遇到问题,不管扫多少次,总是失败,不能进入下一页。本文介绍一个解决方法,希望能管用。(至少我这里是管用了。)

解决方案简单来说就是一句话: 下载最新的微软Edge浏览器,打开“公众平台测试账号”登陆页面,扫码二维码,yeah! 成功登陆!

至于我对此的理解,简单叨叨,也许猜对了部分原因。

以下内容主要分这几个部分:

  1. 介绍“公众平台测试账号”登陆页面
  2. Safari及Chrome浏览器关于登陆出错的信息
  3. Edge登陆成功的相关信息
  4. 继续的测试与猜测

  1. 介绍“公众平台测试账号”登陆页面

微信公众平台提供的“公众平台测试账号”登陆链接如下图:

2 Safari及Chrome浏览器关于登陆出错的信息

在Safari或Chrome上登陆时,扫码二维码后,页面出现"初始化失败"等字样,登陆失败。

如果你这时打开Safari提供的开发工具, Safari -> Develop -> Show Web Inspector 或者打开Chrome的开发工具, 会在 "console" 那一栏看到一些警告信息,比如"[blocked] The page at ... was loaded over HTTPS, but requested an insecure element 'http ...'. It's not allowed to run insecure content from ..."。 简单来说,它是说在一个https调用中,出现了一个http的调用,因为安全隐患,相关调用没有成功,被blocked了。

3 Edge登陆成功的相关信息

通过Edge扫码登陆,结果一次就登陆成功。

同样打开Edge的开发工具,你会发现在console那栏,它同样遇到了这个https里调用http的问题,但Edge这时强制把http调用升级到https,然后继续完成了调用。

4 继续的测试与猜测

登陆终于成功了。

如果这时你再在Safari或Chrome中重新登陆,会发现一样会登陆成功。而console里面显示的信息也和以前不一样了,它说这种不安全的调用此时被允许了。

感觉之前的登陆失败应该和这个不安全的调用有关系。至于后来为什么另外两个浏览器都能用了,应该是Edge在升级到https连接时,比如通过HTTP/2协议,成功完成TLS握手通话,获取并在本机上保存了相关的证书。其他浏览器再次尝试时,这个证书被重复使用,问题就解决了。

如果在源代码中将跳转网址中的http修改为https,这个问题应该不会出现了。当然,这只是猜测。