微信小游戏:无法进行网络请求的解决方案
跟大家在交流中很多人说源码是压缩过的可读性很差,拿到源码也没有意义。但是其实只要将代码格式化后,代码的可读性还是很高的,而且通过微信开发工具断点调试,一些逻辑还是很容易梳理清楚的。
上图就是通过断点调试找到了最终提交 score
的网络请求
另外问的最多的就是目前小游戏无法进行网络请求的问题,如下图
这是因为不管是小游戏还是小程序,网络请求都是受到限制的,需要在微信公众平台中注册合法的服务器域名,如下图所示
但是目前小游戏还没有开放注册,所以是无法进行服务器域名配置的,而微信开发工具提供的测试小游戏 APP ID 是 wx6ac3f5090a6b99c5
是没有配置任何的服务器域名的
但是在万能的抓包工具Charles 帮助下,是可以打破这个限制的
对 Charles 不太了解的可以参考一下这篇文章
操作
首先打开 Charles 并运行 Charles 对本地电脑进行 HTTPS
抓包,因为对 HTTPS
进行抓包需要安装证书,具体的操作步骤请参考Charles 从入门到精通
之后打开微信开发工具,然后新建一个项目,使用 wx6ac3f5090a6b99c5
做为 APP ID,这是微信默认小游戏测试开发 ID,然后新建一个空的小游戏项目,点击确定之后,查看 Charles 的控制台
找到以下的访问请求
https://servicewechat.com/wxa-dev-logic/batchgetappattr
查看该请求的返回包体,会发现默认返回的服务器域名是空数组
在这里只要使用 Charles 的 Map 功能在请求返回的 reponse 信息里面,加入我们想访问的服务器域名,就可以突破微信开发工具对小游戏网络请求的限制了
在 Charles 的菜单中,选择 “Tools”-> “Map Local” 即可进入到相应功能的设置页面
然后在对应配置选项中输入以下信息,本地的 reponse 文件可以参考 这里
完成以上配置之后,退出微信开发者工具,再打开刚才新建立的项目,就会发现此时的项目设置里面已经有了我们想要添加的服务器域名了
而且调试小游戏的网络模块,发现网络是可以进行的访问的
总结
目前小游戏还没有开放注册,但是可以先通过这种方式突破小游戏对于网络请求的访问限制,提前进行开发。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- iOS NSTimer不走的问题
- 我对python中的super()机制的一点理解
- 【Python】使用Pygame做一个Flappy bird小游戏(五)
- 【动手学深度学习笔记】之自定义层
- Ubuntu18.04系统安装和必备软件安装指南
- 如何查看微信好友已撤回的消息?
- 【Python爬虫】写一个爬取中国天气网的终端版天气预报爬虫
- 如何制定企业级代码规范与检查
- 哈希表:可以拿数组当哈希表来用,但哈希值不要太大!
- 【Python】Scrapy爬虫入门(一)Scrapy的基本用法和爬取静态网站
- 【动手学深度学习笔记】之读取和存储
- 据说这才是看热搜的正确方法?
- Ubuntu18.04安装Anaconda3和VSCode指南
- 微信小程序里如何使用npm?小程序集成友盟举例
- 听说你的表情包不够用了?