一、下载
先到它的官网http://www.charlesproxy.com/可下载到最新版本。
二、破解
不过这个收费的,那么接下来就开始破解吧,其实破解很简单就是替换一个文件就可以了。
下载下来之后我们就可以进行破解吧:
打开应用程序,选择Charles,选择显示包内容:
然后点击Contents->Resources->Java:
然后将我们下载下来的charles.jar替换这里的charles.jar就可以了。然后再次打开Charles,就不会太提示30天使用期限了,破解搞定
三、抓包
下面来看一下如何进行抓包
第一、HTTP抓包
1、打开Charles程序
2、查看Mac电脑的IP地址,系统偏好设置->网络就可以查看到了,比如我的ip地址是:192.168.1.7
3、打开iOS设置,进入当前wifi连接(Mac在一个局域网内),设置HTTP代理Group,将服务器填为上一步中获得的IP,即192.168.1.7,端口填8888:
4、iOS设备打开你要抓包的app进行网络操作
5、Charles弹出确认框,点击Allow按钮即可
第二、HTTPS抓包
需要下载Charles证书,在Charles的help菜单有个下载证书的选项,我们按照要求配置即可,要在iOS设备中使用safari链接:
点击打开: 点击安装:
再次点击安装,证书就安装成功了
遇到的问题1.无法弹出allow、deny,要设置proxy 的proxies的端口号为8888。
2.有些https无法抓取,显示红色unknown,原因是证书不是最新的,下载最新证书解决。
第三、HTTPS mock 假数据。
在charless上要mock数据的url上右点击,弹出的列表选中breakpoint,要点击两次 Excute 才能完成一次 HTTP 请求,原因是,Charles 的断点功能分别提供了修改 HTTP Request 和 Response 的机会。
映射本地文件
另外一种方式就类似于 OHTTPStubs 了,可以将本地文件指定为特定 URL 的响应
首先依然需要先让 Charles 抓取到相应的 HTTP 请求,然后在请求上点右键,选择最下面的『Map Local』然后在弹出界面中选择本地文件这种方式最大的用处是,当后端接口开发尚未完毕时,App 端可以『自给自足』地完成完整的界面流程。
另外 Charles 还提供了对已有 Map 规则的导入导出功能,这样就可以将编好的整套规则共享给其他同事了,方法是点击菜单 Tools → Map Local,在弹出界面中点击 Export