首先需要在 Mac 上打开 Charles, 并启动代理, 完成了一系列配置后, 能正常监听流量了以后, 再进行下面操作 (配置电脑证书等).
PC 端 Charles 设置, 可以参考我另外一篇文章 https://segmentfault.com/a/11…
监听 iOS 设备流量 (信任 https 请求), 安卓端与 iOS 类似, 只不过安卓端下载证书后, 需要去系统文件中打开证书安装并信任 (IOS 只有下载立即安装, 如果下载完成没有安装, 以后如果需要安装证书, 只能重新下载)
打开 Charles 帮助, 查看移动端证书安装提示
按照提示设置 IOS WIFI 代理.(IOS 设备与电脑需要处于同一网络). 上图红圈标红的内容是, 我电脑在局域网的内网 IP,8888 是我电脑设置的代理监听端口.
如果有必要, 修改步骤 2 红框中的端口 Mac 电脑 Charles 代理设置方式. 上图中 1 是必选项, 只有勾选了, 才能启动代理.2 是代理监听端口, 默认 8888
配置 iOS 设置代理 (需要与电脑处于同一 WIFI), 服务器和端口就是步骤 2 红框中的内容
下载证书. 在 iOS 上配置好 WIFI 代理后, 使用 Safari 浏览器打开 http://chls.pro/ssl , 浏览器会自动下载一个 证书, 安装即可.
注意: 只能用 Safari 浏览器打开才有用
浏览器打开 http://chls.pro/ssl 后的提示如果下载文件成功, 点击允许, 会跳转到该界面点击安装即可. 安装成功会如下图所示
如果安装成功, 在设置 –> 通用 –> 描述文件 中会新增一个 Charles Proxy 的描述文件. 前往 设置 –> 通用 –> 关于本机 –> 证书信任设置 里, 将刚刚新增的 Charles 证书设置为启用状态, 设置为启用后, 应该如下图所示 (开关选项会显示为绿色)
完成上面的步骤,iOS 上的 Charles 代理 https 证书就设置完成啦. 打开浏览器, 随便打开个 https 网页, 电脑端的记录就会显示详细内容了, 而不会显示问号
疑难杂症:
问: 如果你移动端配置好以后, 还是无法监听 https 流量答: 请你先确定, 你是否能够监听移动端的 http 流量, 如果 http 流量都无法监听, 那么是你电脑 Charles 设置问题, 与移动设备无关
问: iOS 设备用浏览器打开 http://chls.pro/ssl 后, 手机没有弹出允许的窗口, 而是直接让你保存下载文件, 或者打开后无反应. 答: 请先确认你手机电脑是否使用到是同一 WIFI, 并且保证你 iOS 中 WIFI 设置的代理是步骤 2 中的 >IP+ 端口. 然后, 再使用移动设备默认浏览器打开,iOS 必须要用 Safari 浏览器打开如果你是使用 Mac 电脑, 那么, 你还需要检查你的电脑中是否安装有 Charles 证书, 并且设置为始终信任. 下图是我电脑的钥匙串系统证书列表