本文做者 Jinkey(微信公众号 jinkey-love,官网 https://jinkey.ai)
原文连接 https://jinkey.ai/post/tech/mac-zhua-bao-gong-ju-charlesshi-yong-jiao-cheng
文章容许非篡改署名转载,删除或修改本段版权信息转载的,视为侵犯知识产权,咱们保留追求您法律责任的权利,特此声明!html
Charles是mac端的一款截取与分析网络请求的工具,在网络开发中使用其做分析,能够大大提升咱们的开发效率。json
下载破解版, 正常安装。
右键单击Charles应用,显示包内容,将以下文件夹中的jar包替换为破解版镜像 crack 文件夹中的jar包:
而后打开程序输入微信
name:WaistsUn.com
Key: AD81E65KTEB28DFRGS网络
完成注册less
在软件安装完成后,咱们已经能够在mac上截取通常的网络请求了,打开软件,将Proxy设置中的Mac OS X Proxy勾选,设置为网络代理,这时候若是发生网络请求,就能够被Charles截获到
若是咱们须要截取SSL协议的网络请求,这时候咱们还须要安装一个证书,依次点击Charles的 Preference -> Help -> SSL Proxying -> Install Charles Root Certificate 此时会弹出 mac 系统的钥匙串,手动证书权限设置为始终信任。
抓获信息的界面以下:
软件的功能十分强大,Structure是将请求按域名排序,Sequence是将请求时间排序,下面的Request和Response分别为请求的数据包和返回的数据包,若是是json数据,还会自动帮咱们解析格式。
注意:若是iOS模拟器上抓不到请求包,重启模拟器便可。ssh
导入证书的过程和在mac上同样,在移动设备上用 safari访问http://7xs5oy.com1.z0.glb.clouddn.com/charles-proxy-ssl-proxying-certificate.pem。 即会弹出证书安装界面:
在移动设备上截获网络请求,咱们的移动设备必须和电脑在同一网段,在咱们电脑的网络设置中查看IP地址,而后在移动设备上点击咱们链接的电脑上的网络,在代理一栏中,选择手动,将咱们刚才查看的ip地址填写在这里,而且设置一个端口号。
在Charles中的Proxy setting中以下勾选并配置端口号
咱们在设备上再访问网络,请求包就能够被咱们抓取到。工具
有时候咱们只想抓取某个主机的网络请求,咱们能够设置过滤网络,在Proxy菜单中的Recording Setting中,咱们选择include标签,能够在里面添加一个白名单,这样Charles就只截取在这个主机下的请求:post
不少时候,咱们须要测试在网络不佳时应用请求的相关数据,咱们能够模拟设置限速网络,在Proxy菜单中的Throttle Settings中将,Enable Throttling勾选,并能够在下面进行网路设置,only for selected host能够设置一个指定的主机访问进行限制网络。测试
在测试接口时,有时候咱们须要反复进行不一样参数的接口请求,Charles也支持咱们进行请求参数的修改和屡次请求,在请求上点击右键,现则edit:
其中的参数,请求类型等咱们均可以修改,以后点击execute进行从新请求spa