前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小游戏:无法进行网络请求的解决方案

微信小游戏:无法进行网络请求的解决方案

原创
作者头像
疯狂的小程序
发布2018-01-26 18:03:16
3.5K1
发布2018-01-26 18:03:16
举报
文章被收录于专栏:疯狂的小程序疯狂的小程序

跟大家在交流中很多人说源码是压缩过的可读性很差,拿到源码也没有意义。但是其实只要将代码格式化后,代码的可读性还是很高的,而且通过微信开发工具断点调试,一些逻辑还是很容易梳理清楚的。

上图就是通过断点调试找到了最终提交 score 的网络请求

另外问的最多的就是目前小游戏无法进行网络请求的问题,如下图

这是因为不管是小游戏还是小程序,网络请求都是受到限制的,需要在微信公众平台中注册合法的服务器域名,如下图所示

但是目前小游戏还没有开放注册,所以是无法进行服务器域名配置的,而微信开发工具提供的测试小游戏 APP ID 是 wx6ac3f5090a6b99c5 是没有配置任何的服务器域名的

但是在万能的抓包工具Charles 帮助下,是可以打破这个限制的

对 Charles 不太了解的可以参考一下这篇文章

操作

首先打开 Charles 并运行 Charles 对本地电脑进行 HTTPS 抓包,因为对 HTTPS 进行抓包需要安装证书,具体的操作步骤请参考Charles 从入门到精通

之后打开微信开发工具,然后新建一个项目,使用 wx6ac3f5090a6b99c5 做为 APP ID,这是微信默认小游戏测试开发 ID,然后新建一个空的小游戏项目,点击确定之后,查看 Charles 的控制台

找到以下的访问请求

代码语言:javascript
复制
https://servicewechat.com/wxa-dev-logic/batchgetappattr

查看该请求的返回包体,会发现默认返回的服务器域名是空数组

在这里只要使用 Charles 的 Map 功能在请求返回的 reponse 信息里面,加入我们想访问的服务器域名,就可以突破微信开发工具对小游戏网络请求的限制了

在 Charles 的菜单中,选择 “Tools”-> “Map Local” 即可进入到相应功能的设置页面

然后在对应配置选项中输入以下信息,本地的 reponse 文件可以参考 这里

完成以上配置之后,退出微信开发者工具,再打开刚才新建立的项目,就会发现此时的项目设置里面已经有了我们想要添加的服务器域名了

而且调试小游戏的网络模块,发现网络是可以进行的访问的

总结

目前小游戏还没有开放注册,但是可以先通过这种方式突破小游戏对于网络请求的访问限制,提前进行开发。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 操作
  • 总结
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档