用公众号开发微信相关的项目,可以通过微信公众平台 (https://mp.weixin.qq.com) 提供的“公众平台测试账号”做内测。
在使用“公众平台测试账号”时,第一步是扫描二维码登陆到“公众平台测试账号”的页面,你也许会在这一步就会遇到问题,不管扫多少次,总是失败,不能进入下一页。本文介绍一个解决方法,希望能管用。(至少我这里是管用了。)
解决方案简单来说就是一句话: 下载最新的微软Edge浏览器,打开“公众平台测试账号”登陆页面,扫码二维码,yeah! 成功登陆!
至于我对此的理解,简单叨叨,也许猜对了部分原因。
以下内容主要分这几个部分:
微信公众平台提供的“公众平台测试账号”登陆链接如下图:
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,这个问题应该不会出现了。当然,这只是猜测。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。