人生不易,我有必杀技iOS开发交流iOS

Charles 那些事儿

2015-09-15  本文已影响3026人  David_Cap

什么是Charles

在我们干开发的过程中,总免不了碰到网络问题。这个时候我们往往的处理方法是截个包,看看到底我发送和接收了些什么鬼.....

这个时候Charles 应运而生。一款屌的不行的截包工具,好用到没朋友。

那么Charles屌在哪里呢???主要功能如下啦:

  1. 支持SSL代理,可以截取分析SSL的请求
  2. 支持流量控制。可以模拟慢速网络(2G,3G),以及等待时间较长的请求
  3. 支持AJAX调试。可以自动把JSON或者XML数据格式化,方便查看
  4. 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看
  5. 支持重发网络请求,方便后端调试
  6. 支持修改网络请求参数
  7. 支持网络请求的截取和动态修改
  8. 检查HTML,CSS和RSS内容是否符合W3C标准

那么接下来的文章,我们来一个个撸这些功能。

附加解释

什么时候SSL

SSL介绍:

安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密。

SSL的位置:

SSL介于应用层和TCP层之间。应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头。

SSL

安装

下载地址

这个就给一个link吧,自己去下就好了。我是萌萌哒的下载地址

安装SSL证书

也是去下载过来,安装 然后认证就好了。我又是萌萌哒的下载地址

主界面介绍

Charles主界面

Charles主要提供俩种查看包的视图,分别为“Structure”和“Sequence”。

  1. Structure 视图将网络请求按访问的域名分类
  2. Sequence 视图将网络请求按访问的时间排序

这个可以按照自己习惯,使用俩总视图。

还有就是请求过滤,一般都是在Filter里面输入要过滤的字符就可以过滤出自己服务器的API请求了。

Charles在iOS开发中的干货

截取iPhone上的网络封包

  1. 在Charles端的设置

    要截取iPhone上的网络请求,我们首先要将Charles的代理功能打开。在Charles的菜单中选择: "Proxy" --> "Proxy Settings",填入代理端口 8888,并勾选 "Enable transparent HTTP proxying",这样就完成了在Charles上的设置了。

    Charlest_Proxy_Setting.png
  2. 在iPhone上的设置

    首先,我们需要知道我们电脑的IP。打开终端,输入 ifconfig en0。获得如下的结果

    Charles_BreakPoint

    这个断点就和Xcode的断点类似。可以中断,然后任意修改发送个就收到的数据。

    参考致谢

    唐巧大神的《iOS开发进阶》

上一篇 下一篇

猜你喜欢

热点阅读