charle的主界面介绍
1. 界面简介
启动后,页面展示如下:

2. 显示模式
Charles有两种显示模式,stucture 和sequence。支持来回切换。
(1) Structure形式如下图 优点:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。

(2)Sequence形式如下图 优点:可以看到全部请求,这里的结果以数据请求的顺序来显示,最新的请求显示在最下面

综上,两种形式各有千秋,structure 适合对单一系列的访问请求从宏观上进行把握,可以快速定位。sequence 适合精确定位内容,因为每条sequence 都有size,status等属性信息,方便快速定位这条结果的价值.
对于我自己来说,更倾向于Charles的第一种树状视图,比fiddler的列表视图好的地方在于:多次刷新后的请求会被归纳到树里面,更加一目了然,用fiddler的时候,有点强迫症的同学,都要点击clear,有木有…
3.工具条简介

⑴~⑷ session
Charles有个会话(session,不是指http中的session)的概念,可以理解为浏览器中的tab,这个功能在需要调试多个站点页面时很实用,当你刷新页面的时候,只会在当前session中捕获请求。
(PS:ctrl+N创建个新的session,ctrl+W关闭当前session)
⑸垃圾桶———功能是clear,清理掉所有请求显示信息。
⑹搜索关键字(望远镜的那个)———功能是搜索关键字,也可以使用ctrl+f实现,可以设置搜索的范围。

⑺停止监控

———功能是领抓去的数据显示或者不显示的设置。 这个本人认为是charles工具很方便的一个,一般都使其为不显示抓取状态,只有当自己测试的时候的前后,在令其为抓取并显示状态。这样可以快准狠的获取到相关自己想要的信息,而不必在一堆数据请求中去寻找。
⑻开启/停止网速模拟
测试时,会用到网速模拟,具体的在后面功能部分介绍,此处略.....
⑼开启停止断点功能
⑽刷新单个请求
⑾编辑请求
编辑修改功能,可以对下图中的请求信息进行修改,修改完毕后点击Execute就可以发送一个修改后的请求数据包。
⑿校验请求的结果
⒀工具
⒁设置
4 右键请求菜单
右键请求出现菜单,Charles的右键菜单功能比fiddler强大太多了。

5. 请求详情
请求详情跟fiddler相似,但直观不少:

5.1 overview—请求总览

(1)URL(统一资源定位符)
https:协议方案名
M.xxx.baidu.com:服务器地址,这里是DNS可解析的名称。同事也可以是ipv4d地址名,还可以是[0:0:0:0:0:0:0:1]这样用方括号括起来的IPV6地址名。
App/getindexPage:带层次的文件路径。指定服务器上的文件路径来定位特指的资源。
URL——请求url的路径、文件和查询字符串
Status——状态是否已完成
Notes——备注
Response Code——响应状态码
Protocol——该seesion使用的协议(Http/https/ftp)
SSLssl——协议版本号
Method——该seesion使用的方法(get/post/put等)
Content-Type——响应的content-type头
Timing :
Request Start Time——接收到的第一个请求的第一个字节的时间点
Request End Time——发送到客户端的最后一个响应的最后一个字节的时间
Response Start Time——响应开始时间
Response End Time——响应结束时间
Duration——整个请求—响应持续时间
DNS——所有选中的session解析DNS所花费的时间的总和
Connect——所有选中session建立TCP/IP连接所花费的时间总和
Request——请求耗费时间
Response——响应耗费时间
Size
Request Header——请求头大小
Response Header——响应头大小
Request
Response
Total——请求头+响应头字节大小
5.2 request—请求头

名词解释:
(1)Appid : 在COM中,安全控制的最小单位是进程,每个进程都有对应的安全控制策略。进程的安全控制策略保存在注册表中,存储位置为:HKCRAppID访问权限、启动权限等安全配置信息。开发COM组件时,可以在COM组件对应的CLSID子键下
新建字符串类型的项,名称:AppID,值:该COM组件所在进程的AppID值。
channel:渠道包来源
Contextuuid:设备唯一标识
5.3 response—请求结果
Json格式,具体含义参考接口文档。(其中raw是原始数据包的状态)

5.4 summary—请求详情,包含加载时间等

5.5 时间线图表
