简介
Charles是目前最强大的http调试工具之一,在网络开发中使用它作为分析工具,可以很大程度上提高我们的开发效率,
Charles是收费软件,可以试用。有条件的建议用正版,当然天朝也不乏破解版。
安装
下载好后,解压打开,然后右击、显示包内容。如图
将如下文件夹中的jar包替换为我们破解文件夹中的jar包:
这样就破解了,然后就能happy的使用了
配置
安装证书
按上面指示流程打开 钥匙串访问,搜索 charles 可以看到刚才安装的证书,查看证书状态是否已经被信任(名称有红色标记)。
添加证书时,选择始终信任
在Mac上抓取网络请求
对于Mac系统而言,打开charles之后,默认就已经对系统进行了代理,如果没有,则需要在菜单栏的Proxy上勾选上Mac OS X Proxy。
这时候就能抓取Mac的网络请求了
在移动设备上进行抓包
在移动设备上抓取网络请求,我们的移动设备必须和电脑在同一网段:
1、电脑和移动设备同时连接同一网段的网络。
2、是电脑共享wifi出来,然后用移动设备区连接,
设置Http代理
设置HTTP网络请求的端口号为8888并设置为可用的。如下图:
移动设备的设置:
如图:
设置wifi的HTTP代理为手动,服务器地址为Mac的ip 地址(这个地址就不用说怎么找了吧)
端口号为8888(这个端口号就是之前在Charles上设置的)
SSL
如果要抓取有SSl协议的网络请求,这时候我们还需要安装一个证书
方法如下:
iOS设备
将iOS设备设置为在“设置”应用程序> Wifi设置中将Charles用作其HTTP代理。
打开Safari并浏览到https://chls.pro/ssl。Safari会提示你安装SSL证书。
如果您使用的是iOS 10.3或更高版本,请打开Settings.app并导航至常规>关于>证书信任设置,然后查找Charles Proxy证书,并将其打开以启用对其的完全信任(iOS中有关此更改的更多信息10)。
现在您应该可以使用SSL Proxying与Charles访问SSL网站。
Charles在3.11.4发行版中支持App Transport Security(ATS)。
iOS模拟器
退出你的iOS模拟器。启动Charles并转到帮助菜单。选择“SSL代理>在iOS模拟器中安装Charles Root证书”项目。这将安装您的查尔斯根证书到您的所有iOS模拟器。现在,当您启动iOS模拟器时,您应该可以使用SSL Proxying与Charles访问SSL网站。
SSL 协议设置:
在proxy菜单中选中proxy Setting。 选中SSL Proxy选项卡。点击add添加,然后填写服务器地址和端口号。再选中Enable SSL Proxy 选项。
注意: 如果iOS模拟器上抓不到请求包,重启模拟器即可。
Charles的更多应用
过滤网络请求
有时候我们只想抓取某个主机的网络请求(比如测试服务器),我们可以设置过滤网络,在Proxy菜单下的Recording Setting中选择include标签,可以在里面添加一个白名单,这样Charles就只抓取这个主机下的请求了
如上图:点击Add就出现下图
几个字段的含义:
Protocol : 协议(Http或https)
Host : 主机(服务器)地址
Port : 端口号
Path : 路径
模拟限速网络
很多时候,我们需要测试在网络不佳时应用请求的相关数据,我们可以模拟设置限速网络,在Proxy菜单中的Throttle Settings中将,Enable Throttling勾选,并可以在下面进行网路设置,only for selected host可以设置一个指定的主机访问进行限制网络。
修改网络信息,多次请求
在测试接口时,有时候我们需要反复进行不同参数的接口请求,Charles也支持我们进行请求参数的修改和多次请求,在请求上点击右键,现则edit:
如图:其中的参数,请求类型等我们都可以修改,之后点击execute进行重新请求
批量请求选择repeat advanced...
iterations:10 //请求次数
concurrency:2 //请求的并发数
show results in new session //新建一个session窗口
delays //请求延迟