Photo on charlesproxy.com
上个礼拜分享了 Charles 选项栏中的 Tools 功能
但是因为内容过多 小弟把它拆成两个部分
而这个礼拜将会延续上礼拜的内容 将剩余的後半段方想完毕
如果还没看过前半段 Tools 功能介绍的大哥大姐可以再看一下
封包测试工具 - Charles (二)
DNS Spoofing Settings (设定 DNS 欺骗)
如果需要测试域名 但是所使用的是虚拟主机
为了想要将 IP 位址更改为指定的 DNS 来进行测试
此时就可以透过 DNS Spoofing 来达成
将自己的主机名指定给远程地址映射来欺骗 DNS 查找
当请求通过 Charles 时 将由 DNS 映射为优先
可以透过 Import/Export 来汇入或汇出设定内容
"Enable DNS Spoofing":透过 Add 来进一步设定欺骗 DNS 的内容
当针对列出的域名发出请求时
Spoof DNS 插件会发现欺骗 IP 将请求重定向到该地址
e.g. 想要把 www.demo.com 转到 test.com 上
Host Name:来源处(www.demo.com)
Address:目的地(test.com)
Mirror Settings (设定镜像)
Mirror 会在浏览时将接收到的回传内容复制一份 并保存在指定的路径下
可以透过 Import/Export 来汇入或汇出设定内容
"Enable Mirror":启用镜像所有或指定回传
"Only for selected locations":透过 Add 来进一步设定指定站点
"Save to":指定的存放的路径
每个站点匹配包含 Protocol, Host, Port, Path 与 Query
- 如果收到相同 URL 的两个响应,则前面的同名文件将被覆盖,确保响应内容将始终是最新的。
- 启用 Mirror 後,任何压缩或编码的响应将被解压缩或解码。
- Mirror 不受上一篇提到的 Recording Settings 的记录限制设定影响,当保存响应有限,将会丢失一些内容。
Auto Save Settings (设定自动保存)
如果想让 Charles 长时间监控网络活动
并且希望将记录分解为可管理的单元
或者避免因数据量过大而可能出现的内存不足的情况
这个时候 Auto Save 将非常有用
Auto Save 会按设定的时间间隔自动保存和清除记录会话
可以透过 Import/Export 来汇入或汇出设定内容
"Enable Auto Save":启动自动保存
"Save interval":自动保存的时间间隔(分钟)
"Save to":指定的存放的路径
"Enable on startup":启动 Charles 时保存
"Start on a multiple of the Save interval":从保存间隔的倍数开始
e.g. 保存时间间隔设定为15分钟
启动该功能为10:10,则第一次保存时间将为10:15
尔後则为每15分钟保存一次
"Save type":透过下拉式选单选择保存格式
Client Process Settings (设定客户端进程)
如果想要查看不确定的原始进程请求
则可以透过启用 Client Process 来达成
Charles 将会显示发出请求的本地客户端进程的名称
可以透过每个请求内的 Notes 区块中来查看
可以透过 Import/Export 来汇入或汇出设定内容
"Enable Client Process":启动 Client 端进程
"Only for selected locations":透过 Add 来进一步设定指定站点
每个站点匹配包含 Protocol, Host, Port, Path 与 Query
Compose (修改请求)
Compose 可以在原有的请求基础上进行修改
包括了 URL, Method, Protocol version
该请求发送後,可以对该请求再次修改
Compose New Request (新增请求)
Compose New 可以无到有新增一个请求
可设定的内容有 URL, Method, Content type, Protocol version
该请求发送後,可以对该请求再次修改
Repeat (重复请求)
如果想要测试更改後端後在浏览器中重复请求的内容
透过 Repeat 重复请 将节省大量精力
Repeat 可以选择一个请求并重复发送到服务器
重复请求是在 Charles 内部完成的
因此该响应仅能在 Charles 中查看 无法在浏览器中查看
Advanced Repeat (进阶重复请求)
Advanced Repeat 扩展了 Repeat 功能
提供了迭代次数和并发数的选项 对於负载测试非常实用
"Iterations":迭代次数
"Concurrency":并发数
"Repeat delay (ms)":重复的延迟时间也可以使用固定范围的时间
Validate (验证) Comet
Publish Gist (发布 Gist)
Publish Gist 可以将将所选请求和响应透过 Gist 发布
默认情况下 Gist 将匿名发布 (也就是说发布後将无法删除)
如果尚未设定任何内容使用该功能 将会显示资讯
可以在 Publish Gist Settings 中授权 Charles 使用 GitHub 帐户进行发布
等等会详细介绍 Publish Gist Settings
Import/Export Settings (导入/导出设置)
可以透过 Import/Export 来汇入或汇出选定或是全部的设定内容
主要分成了三大块 包含了 Proxy, Tools, Preferences
Profiles (配置文件)
当有不同的设定配置想要进行切换
除了透过 Import/Export 的方式之外
还可以透过设定 Profiles 来选择最後设定的内容
可以透过 Add 来新增配置文件的纪录点
被选定的 Active 将会记录任何更改的设定内容 (可以想像成游戏存挡点)
但是为了确保重要的配置不会遗失 还是 Export 一份会比较妥当
Publish Gist Settings (设定发布要点)
在使用上面提到的 Publish Gist 之前
必须先授权 Charles 使用您的 GitHub 帐户发布 Gists
点击 Authorize 按钮後 将会 GitHub.com 完成授予
可以透过 Import/Export 来汇入或汇出设定内容
"Publish as":发布时是否公开
"Publish limit (MB)":发布的内容大小限制
这周的内容还是在介绍 Charles 的 Tools 选项栏中的功能
因为内容过多所以将 Tools 的分享内容给拆分了两个部分
而在这周小弟把 Tools 後半段的功能也分享完毕了
下周将会介绍 mobile 的封包拦截使用方式
如果介绍的内容可能有遗漏或是错误,还请各位大哥大姐提点
小弟将继续往下周迈进。 ─=≡Σ((( つ•̀ω•́)つ
官方网站 (载点)
<<: Week36 - 用 Apollo 快速架设 GraphQL Server [Server的终局之战系列]
今天是实作 React.js 网站的最後一篇介绍了,这篇会大量的使用到 React Hooks 的...
大家好,这边是个人制作telegram时研究api和开发文件之後整理起来的文件 telegram 有...
看完这篇文章你会得到的成果图 前言 这篇我们要来学一个新的东西 QTimer! QTimer 是独立...
前面我们提过了 Bubble sort,这次我们要来从题目来看另一种排序的演算法 —— Insert...
大家好! 如果要深入查询一个多层物件,一般都是用 Object.keys 等方法,今天就是要简化这样...