头图

由于一些客户端测试包存在安全限制,仅支持白名单内的域名才能访问,对调试本地代码带来很多不便,如果不想代码改动一次就部署一次那就继续看下去吧~

众所周知 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: /

image.png
image.png
image.png
⭐️步骤三:手机连接charles,此时访问测试包内对应配置中测试泳道的链接时,实际访问的地址为本地代码,代码转发目标实现✅。(手机与电脑需链接不同网络)

二、可能会遇到的问题

image.png
手机抓包提示unknown,多为 https 证书失效或缺失,手机端安装https证书:

在菜单栏选择 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or a Remote Browser ,弹出提示框,根据提示在设备上使用浏览器访问 http://chls.pro/ssl,浏览器会自动下载证书并提示安装,根据提示一步一步安装好,证书会被添加到『设置 -> 通用 -> 描述文件』中。

image.png
image.png
注意安装证书时的第二句描述,证书安装好后,需要在设置中进行信任设置:『设置 -> 通用 -> 关于本机 -> 证书信任设置』,对上一步安装的Charles证书启用完全信任!


Mmmy
145 声望14 粉丝

每天都要学习鸭!🦆