手机版

如何解决目前微信游戏无法进行网络请求的问题

时间:2021-12-11 来源:互联网 编辑:宝哥软件园 浏览:

在昨天关于如何获取微信游戏源代码的文章中,我记录了自己获取微信游戏源代码的个人实践。

在和大家交流的时候,很多人说源代码压缩了,可读性很差,拿到源代码没有意义。但是只要代码经过格式化,代码的可读性还是很高的,通过微信开发工具的断点调试,一些逻辑还是可以很容易整理出来的。

如何解决目前微信小游戏无法进行网络请求的问题(图1)

上图显示最终提交分数的网络请求是通过断点调试找到的。

另外,最常被问到的问题是小游戏目前无法进行网络请求,如下图所示。

如何解决目前微信小游戏无法进行网络请求的问题(图2)

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

如何解决目前微信小游戏无法进行网络请求的问题(图3)

但是目前小游戏还没有开放注册,无法配置服务器域名。但微信开发工具提供的测试小游戏APP ID为wx6ac3f5090a6b99c5,未配置服务器域名。

如何解决目前微信小游戏无法进行网络请求的问题(图4)

但在通用抓包工具查尔斯的帮助下,这一局限得以打破。

如果你不太了解查尔斯,请参考这篇文章。

操作

首先,打开Charles并运行Charles在本地计算机上捕获HTTPS包,因为捕获HTTPS包需要安装证书。具体操作步骤请参考《从初学者到大师的查尔斯》。

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

找到以下访问请求

https://servicewechat.com/wxa-dev-logic/batchgetappattr 如何解决目前微信小游戏无法进行网络请求的问题(图5)

查看此请求的返回包,您会发现默认情况下返回的服务器域名是一个空数组。

如何解决目前微信小游戏无法进行网络请求的问题(图6)

在这里,只要利用Charles的Map功能,将我们想要访问的服务器域名添加到请求返回的响应信息中,就可以突破微信开发工具对小游戏网络请求的限制。

在查尔斯的菜单中,选择“工具”-“地图本地”,进入相应功能的设置页面。

如何解决目前微信小游戏无法进行网络请求的问题(图7)

然后在相应的配置选项中输入以下信息,这些信息可以在本地响应文件中引用。

如何解决目前微信小游戏无法进行网络请求的问题(图8)

完成以上配置后,退出微信开发者工具,然后打开新创建的项目,此时你会发现我们要添加的服务器域名已经存在于项目设置中。

如何解决目前微信小游戏无法进行网络请求的问题(图9)

而且通过调试小游戏的网络模块,发现可以接入网络。

如何解决目前微信小游戏无法进行网络请求的问题(图10)

总结

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

版权声明:如何解决目前微信游戏无法进行网络请求的问题是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。