由于效率问题,某个项目需要编写造数据脚本,其中用户端是在小程序,怎么拿到小程序交互的接口编写脚本是首先要解决的事。但是在操作时遇到了各种阻碍,所以差不多把能想到的获取接口信息的几种方法都试了一遍。
1、接口文档
首先最直接便捷的方式是通过接口文档,接口文档可以直观地获取接口地址、请求参数等信息,可以是文档版的接口文档,或者是某些API框架自动生成的接口文档。
问题:本项目并没有小程序相关接口文档(研发流程不规范)。
2、抓包
要想准确查看每一步交互的接口,最准确的方法就是抓包了,小程序的抓包和移动端一样,但是可能会出现部分安卓系统或者微信版本无法支持抓包的情况。
问题:配置好代理之后无法抓取到小程序上的请求。
3、日志
操作的时候,如果服务器有打印请求相关的日志,也是可以提取出接口的,但是肯定不全,因为像请求头部分和上传文件接口,即使日志有打印也不会像抓包的数据这么准确直观。
问题:本项目未打印小程序操作的请求信息(生产问题的定位是不是会不方便)。
4、WEB版微信
如果移动端无法抓包,在WEB版微信操作小程序也可以,同PC端的抓包操作类似。
问题:测试环境小程序需要依赖调试模式运行,web版微信小程序无法打开调试模式。
5、微信开发工具
通过微信开发工具调试每一步的操作,也可以抓取到接口信息,但是需要拉代码进行部署,操作麻烦。
此方法待定。
6、代码
直接查看代码,找到接口入参、出参和逻辑处理部分,可以进一步了解接口处理逻辑,但是成本相对较高。
此方法待定。
一开始可能版本的问题,无法抓到这个小程序的请求,然后才想到各种办法,最终各种重装/升级软件就好了(所以也不知道原本是为什么不行),通过抓包+结合代码完成了接口脚本的编写(差点想试试用模拟器登录微信再进小程序,但是笔记本显卡版本又太低装不了模拟器)。
可能有同学会疑惑,为什么需要结合代码,因为在没有接口文档的情况下,比如抓到接口某个参数“type”:“2”,你怎么知道type以及各枚举值的含义。
获取接口信息的几种方法
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- IOS系统中,获取设备唯一标识的方法有很多: 一.UDID(Unique Device Identifier) U...
- 概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地...
- 通信服务提供接口是web3如何与区块链交互的关键。接口接受JSON-RPC请求并返回响应。这通常通过将请求提交给基...