Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/csxiaoyaojianxian Email: sunjianfeng@csxiaoyao.com QQ: 1724338257
macOS开发,青花瓷Charles是必不可少的,如同Windows的Fiddler一般,熟悉下面的几点Charles技巧将会令调试事半功倍。
Charles的安装非常简单,至于破解也很容易搜索到,此处不再说明。
安装后,如何讲请求代理到charles呢?首先检查软件菜单 proxy -> macOS Proxy 是否已经选中(默认勾选)
接着可以结合chrome插件switchyOmega
和全局代理软件Proxifier
将请求代理到charles的默认端口8888 127.0.0.1:8888
此时已经可以开始抓包了,如果碰到https链接的地址,会发现都显示<unknown>
,因为https是加密的,Charles需要配置证书才可以抓包。
点击 Help -> SSL Proxying -> Install Charles Root Certificate,搜索 Charles Proxy CA
并选择始终信任即可。
点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser,将手机wifi网络配置代理到当前PC的IP地址的8888(默认)端口。
然后根据弹窗提示在手机浏览器输入 chls.pro/ssl
下载证书(pem->crt)并安装
设置Charles的SSL Proxying Settings,添加所有的域名 *:*
。
Map Local
能够将指定的网络请求重定向到本地文件,在实际开发中,可以用来在接口未开发的情况下,本地创建json文件来模拟接口请求。
操作方式:
Save Response
,然后保存为到本地文件(例如json文件)Map Local
map
的路径为本地文件路径注意:
Query
参数只对GET
请求有效,如name=csxiaoyao&type=mock
Map Remote
能够更换远程接口地址,在实际开发中,可以将测试环境地址手动更改为生产环境地址。
操作方式:
Map Remote
,编辑想要替换的地址,保存即可Charles 可以直接修改网络请求,可以方便接口调试。
操作方式:
执行(Execute)
、恢复更改(Revert)
和取消(Cancel)
在开发调试过程中,经常需要测试接口在不同网速下的结果,Charles 可以方便地模拟网速。
操作方式:
Throttle
设置Throttle
配置含义: Bandwidth(带宽)、Utilistation(利用百分比)、Round-trip(往返延迟)、MTU(字节)
Charles 可以对每次请求的 request 和 response 进行断点调试。
操作方式:
Breakpoints
打断点开启断点调试编辑请求
,修改完后点击执行后,会跳转到编辑响应
,修改完后点击执行,完成调试操作方式:
Repeat Advanced
操作方式:
Find in
Request URL
、Request Header
、Request Body
、Response Header
和 Response Body
里搜索字符串,支持正则表达式原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。