转至元数据结尾
转至元数据起始
为啥要装charles?
公司已经逐渐以MAC笔记本替换原安装WINDOWS的联想笔记本,原来在WINDOWS上,多使用fiddler做为抓包、host mapping工具搭建测试环境,在MAC OSX系统中也有一款与fiddler类似的软件叫charles,但实践上,多数同学还是觉得不好用,而不得不装一个WINDOWS虚拟机继续使用fiddler。MAC上的磁盘空间较小,而且虚机也占用内存资源,能不能使用charles完全取代fiddler,从而干掉这个虚拟机?答案是肯定的。本文分享一下自己的实践经验,和所遇到的坑,希望可以给其它同学一些帮助。
要达到的目的:
在钱包部门,开发&测试&上线过程中,经常需要切换线下&线上环境。总体诉求如下:
其中:
- 客户端有手机、PC浏览器。环境共有三类:线下、预览、线上。每个业务都有三个端:PC, H5, SDK。
- 访问客户端有两种:SDK和浏览器。SDK以APP形式发布,其demo版本可修改访问host地址,正常版本直接访问线上;浏览器则默认访问线上。
于是,我们需要 charles 做到两项功能:
-
- 抓到并能解析HTTPS请求的包。
- 对来自浏览器的访问,不仅要抓包,还能够做 host 映射,以切换线上&线下环境。