原理
简单来讲就是Charles充当一个“中间代理人”
的角色,可以允许你在浏览器和服务器之间通信时,截取并解密其通信数据。因为Charles拦截客户端请求后,代替客户端向服务器请求并返回自己的证书给客户端,更改了证书,如果客户端不安装和信任这个证书,客户端就会出现“报警”并终止连接。Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。开发iOS都在Mac系统上吧,安装Charles的时候要先装好Java环境。
我们先去 官网上面下载这个软件:
安装地址:https://www.charlesproxy.com/download/
安装完成后,设置手机端的ip代理:
先看看电脑端的ip:
保存后,打开Charles。
设置一下ssl代理:
我打开凤凰新闻:
刷新app可以看到app请求数据:
当然了如果app接口都是https的话,需要对方的证书,否则看到的就是加密的数据而已!
这样可以方便的调试本地的app。