由于一些客户端测试包存在安全限制,仅支持白名单内的域名才能访问,对调试本地代码带来很多不便,如果不想代码改动一次就部署一次那就继续看下去吧~
众所周知 charles 是一款非常好用的前端抓包利器,以上问题就可以通过 charles 的 Map Remote 功能实现。Map Remote 可以通过配置映射更改请求位置,即可实现使用测试包调试本地代码无需部署到环境的诉求。
一、配置流程
⭐️步骤一:安装 charles(具体过程省略,可参考其他配置教程)
⭐️步骤二:打开 charles,配置 map remote 转发
// 路径
Tools -> Map Remote -> Add -> Edit Mapping
// 配置信息
【Map From】
protocol: http
Host: tc-70478866-20220921105707-sl-api.bike.test.com
Port: 80
Path: /*
【Map To】
protocol: http
Host: localhost
Port: 9091
Path: /
⭐️步骤三:手机连接charles,此时访问测试包内对应配置中测试泳道的链接时,实际访问的地址为本地代码,代码转发目标实现✅。(手机与电脑需链接不同网络)
二、可能会遇到的问题
手机抓包提示unknown,多为 https 证书失效或缺失,手机端安装https证书:
在菜单栏选择 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or a Remote Browser ,弹出提示框,根据提示在设备上使用浏览器访问 http://chls.pro/ssl,浏览器会自动下载证书并提示安装,根据提示一步一步安装好,证书会被添加到『设置 -> 通用 -> 描述文件』中。
注意安装证书时的第二句描述,证书安装好后,需要在设置中进行信任设置:『设置 -> 通用 -> 关于本机 -> 证书信任设置』,对上一步安装的Charles证书启用完全信任!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。