当前端在调用数据接口时,发现有些数据不是我们想要的,那么前端在和后台交流时往往要对数据进行抓包,把请求的URL和返回的数据以及在页面的展示的情况给跟后台看.可以说对数据进行抓包是前端开发人员应该必备的一项技能。笔者在实际开发中应用最多的还是Charles,由于开发语言是Java,所以具有很好的跨平台性。
为了方便大家学习,这里提供一个破解版的Charles下载链接。
下载完成后的安装在这里就不一一赘述了,如在安装过程中遇到问题欢迎随时联系我。
一、抓取iOS真机设备上的http请求
1、查看电脑的ip地址:
2、打开charles,设置Mac OS X Proxy:
3、设置proxy settings,记下端口号,默认8888:
4、打开手机的wifi详情,选择http代理,填入刚刚记下的电脑的ip地址,还有上面记下的charles的端口号(例如,默认的8888)
5、在手机上进行网络访问,这样charles会出现一个提示,大体上意思是,是否允许charles作为手机的网络请求代理:
6、结果:例如我在手机端请求B站的信息:
这是Response:
还可以看这个接口的Request:
二、抓取iOS真机设备上的https请求
因为为了保证网络访问更加安全,所以好多公司的接口都采用了https,而且苹果公司也对此有了明确的要求。
1、首先就是安装Charles的根证书,Help - SSL Proxying - Install Charles Root Certificate ,会打开钥匙串应用,安装进去
当安装后,可能你看不到在哪里,在右上角的搜索中 输入 cha 则会显示出来,你看到上面是此根证书不被信任!
这样,证书是不可用的,我们需要设置,在证书上点击右键 -> 显示详情,展开信任选择始终信任
然后点击左上角的关闭,系统会弹出授权提示框,授权同意修改,回到列表,稍等,证书就刷新了
2、配置SSL访问,在Proxy->SSL Proxying Settings->点击add->在弹出的对话框里面设置主机和端口号,如果设置为: *.*为部访问。
3、经过上面两步可以实现pc数据的抓取了,如果想要进行手机数据接口的抓取,还需要在手机端进行证书配置。
此处为CA证书下载链接证书下载完成后,会自己提示安装,和企业级开发者证书一样,比较容易搞定。这样就可以抓取https的数据接口包了。
也可以通过Help界面进行安装。
以上就是Charles的安装及配置,提供给大家做为一个参考!如果在使用过程中遇到什么问题可以随时沟通。