Charles 那些事儿

作者: David_Cap | 来源:发表于2015-09-15 12:37 被阅读3026次

    什么是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开发进阶》

    相关文章

      网友评论

      本文标题:Charles 那些事儿

      本文链接:https://www.haomeiwen.com/subject/vykmcttx.html