1.安装软件
百度搜索charles,第一个地址官方链接了:https://www.charlesproxy.com
如果没安装java环境,首次进入charles会提示需要安装java包,下一个java包就可以了。
安装后,长这样的。
打开软件。
2、设置网络
a、查询电脑的IP地址
Window使用快捷键win+R进入运行窗口,输入cmd,再输入ipconfig
MAC在终端里输入ifconfig,注意是“f”,不是“p”(Mac端调起终端的方法见另一篇:http://blog.csdn.net/alice_tl/article/details/75905103)
b、将移动设备和电脑设备设置为同一个网络
c、设置移动设备的网络代理
进入无线局域网的高级设置页面,找到HTTP代理字样。
选中手动代理,并在服务器中填自己电脑查到的ip地址,然后把端口调8888,最后点击左上角返回。
返回值后系统会自动设置代理重新连接,这样操作的目的是为了让手机就经过电脑上网。
e、用手机打开一个联网的程序,电脑上会显示一个弹窗问【allow】还是【deny】,点allow。
之后手机发出的每一个请求都会被拦截到电脑上,使用charles看见。
3.拦截某个软件的接口数据
拿个APP举例。手机上启动一个只要是需要联网的操作的app,进入一个产品详情页面
请求和返回字段信息如图。
Contents的内容即为请求传参内容,比如APPID、DeviceID、OS和OSversion等一看就很好理解。
下方json格式的字段信息及服务端返回的信息,Response
另外这里可以看到接口名称,并且双击可以拷贝下来。
对于 https 的请求,如果发现拦截到的是乱码,需要设置 SSL Proxying Settings,将对应的域名或及端口添加进去,*:*也可,如图:
4、查看HTTPS的链接
Https的链接如果没有配置证书,会出现乱码,配置的过程略微有点复杂,见单独一篇文章:Charles抓取https协议的方法
5、Charles工具的常用操作
模拟弱网、mock请求和返回数据,见这篇文章:https://mp.csdn.net/postedit/86634513