Charles从入门到放弃
Charles版本:4.0.2
一、开始
连接方式
- 方法一:电脑和手机连接同一个wifi
- 方法二:电脑使用网线连接网络,手机通过USB连接电脑
二、过滤网络请求
1.简单过滤

在Sequence模式下,就可以看到Filter,输入要过滤的关键字即可。
2.长期特定的网络封包

路径:Proxy->Recording Settings->Include→Add
在编辑框中填入要封的网络请求
3.关注特定的网络请求

在想要特定关注的网络请求那行,右键勾选"Focus"即可
三、抓取手机网络包

前提:手机,电脑连结的是通一个wifi网络
在菜单栏上选择 Proxy->Proxy Settings,填入代理端口 8888,并勾上 “Enable transparent HTTP proxying” 即完成了代理
查看电脑IP地址
在手机wifi网络中添加代理,输入电脑IP和charles的端口号 8888
抓HTTPS包
1.Mac安装SSL证书
在Help→SSL Proxying→Install....
选择后,就会出现证书下载,下载成功后会电脑”钥匙串访问“中看见(这里我已经安装并信任过了),然后双击下载的证书,勾选信任即可。

2.手机安装SSL证书
在SSL Proxying中勾选Install ...Mobile Device 会弹出一个框,用手机(处于代理状态下)登陆指定的url下载证书即可。
这时候你抓https的时候还是发现不行,乱码加unknown(如下图)

这时候我们还需要一步操作,就是将想要抓的https加入到SSL代理中,这样才能被Charles识别并解析

选择我们要抓的请求,右键选择"Enable SSL Proxying"
这时我们发现不再乱码和unknown了

四、网络限速
开发中常备限速,通常对于Chrome我们可以使用浏览器中的"Network中Online修改",下拉还有3G等设置。
但是通过代理我们可以做的更全更多

在"Proxy→Throttle Settings"中,我们可以给所有的网络限速,也可以通过勾选"Only for selected hosts"限制指定的请求速度
五、修改网络请求内容

选中一条网络请求,然后右键选择"Compose",就会出现上图下半部分的框,可以修改几乎任何你可以想到的请求参数,点击"Execute"执行即可
六、修改服务器返回的内容
1.Map Remote(Tools→Map Remote Settings)

将网络响应定向至另外一个网络服务,从而达到修改返回内容的目的
2.Map Local(Tools->Map Local Settings)

将网络响应定向至本地文件,从而达到修改返回内容的目的
3.Breakpoints替换返回内容(右键->Breakpoints)

通过名称也可以看的出来,这个类似于一种断点的功能,代理会在发送请求的时候拦截并断点网络请求,这就为我们修改网络信息提供了便利。
可以编辑请求的参数和返回的参数。
七、反向代理
反向代理(Proxy→Reverse Proxies Settings)也是一个常用的功能,特别是对于本地开发且需要域名的情况下

这个截图的意思是 将本地 57689端口映射到www.os.com域名的80端口
更多精彩文章请访问GitHub博客
无特殊声明的文章均为原创!
原创文章如若转载,请注明出处!http://www.cnblogs.com/zqzjs/
告诫自己即使再累,也不要忘记学习。成功没有捷径可走,只有一步接着一步走下去!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架