Charles于2018年推出了iOS应用程序,现在可以在App Store搜索并下载。使用iOS版本的Charles,您可以捕获并检查iOS设备上的网络请求和响应,还可以在应用程序中查看 元数据1 ,标头和正文,这样您就可以在没有计算机的情况下直接调试应用程序的网络问题。
iOS版本的Charles目前支持以下功能:
在您的iOS设备上运行Charles意味着您不再需要修改WiFi网络代理设置,它还意味着您可以捕获和测量通过 移动/蜂窝数据网络 的网络流量。衡量移动数据的网络性能对于您的移动应用尤其重要(因为很多用户都是通过移动网络来体验您的应用),它可以显示大量或慢速请求,以及通过并行化网络呼叫来提高感知性能的机会。
打开Charles你会看到的是Charles iOS版的主页,只要打开 Status 开关,你就可以记录此设备与网络之间的所有 HTTP 和 SSL / HTTPS 流量。
Charles会保存当前会话的内容并将其添加到此列表中,点击 CURRENT SESSION 下方的当前会话信息,你可以查看和共享已保存的会话。
在Charles主页通过当前会话信息可以进入详情页面,会话详情 页面相对于结构视图 ,您可以查看由主机名列表组成的的会话详情,然后你可以点击查看主机中的记录。
通过在 会话详情 页面点击某台主机名,你会进入 记录详情 页面,相对于序列视图,使您可以按顺序查看请求,点击请求时,会转到 请求查看 页面以显示详细信息。
在 请求查看 页面,您始终可以查看HTTP请求和响应标头以及请求和响应主体,请求和响应的主体查看会打开单独显示页面。
在Charles主页通过当前会话信息进入 会话详情 页面,你可以使用底部的三个操作,扫把 图标表示清空当前会话、下载 图标表示保存当前会话到本地、共享 图标则表示共享当前会话。
你可以 共享 图标打开共享页面,如果你使用的是Mac OS系统,那么强烈推荐你使用 隔空投送 的方式,直接将当前会话文件(.chlsj)发送到Mac OS下的 下载 目录。或者,你也可以选择通过 微信-文件传输助手 或者 QQ-我的文件 来传输文件到电脑上。
在电脑上找到刚刚从Charles iOS版接收的当前会话文件(.chlsj),进行下一步之前需要确认你的电脑上已经安装了Charles 桌面版,然后双击打开当前会话文件。
你会看到的是Charles 桌面版已经打开了Charles iOS版共享出来的会话文件(.chlsj)。
在Charles主页通过左上角的 齿轮 图标进入 Settings 页面后,再点击 Recording 进入记录设置页面。
你可以通过 Record Request Body 开关可以控制是否记录请求正文,或者通过 Record Response body 开关控制是否记录响应内容,并控制最大记录数据大小(默认是 1Mib 的大小)。还可以点击 Only Record Partial Opaque Bodies 开关,在连接被加密或不透明时限制记录的请求和响应内容大小,也可以点击 Record TCP Streams 开关,记录非HTTP流量的TCP流。
你可以选择要监听的主机名,并添加到 Include 列表中,或者选择要忽略的主机名,然后添加到 Exclude 列表中。主机名匹配可以是准确的,也可以使用通配符。
从Charles主页转到 Settings 页面,然后选择 SSL Proxying 进入SSL代理设置页面。
首先你需要点击 Enabled 开关启用SSL代理,使用SSL代理需要您安装并信任Charles为您的设备创建的CA证书,安装SSL证书过程如下:
安装完SSL证书后,你还需要进行下面的操作以信任证书:
最后,返回Charles并查看上面的证书状态,证书正确安装并受信任后,将显示 Trusted 。
你可以将主机名添加到 Include 列表,以便为这些主机启用SSL代理,而 exclude 列表中的匹配主机则不会启用SSL代理。exclude 列表会排除 Include 列表匹配的主机名,例如,如果您在 Include 中使用了通配符,则需要排除与该通配符匹配的特定主机。
您可能需要关闭并重新打开应用程序,以便更改SSL代理设置时可以看到其请求。
通过 **Settings ** 页面的 Blacklist 按钮,可以转到黑名单设置页面。
使用此工具,你可以选择要列入黑名单的主机名,对已列入黑名单的主机的请求将被删除。
元数据百度百科 ↩︎