Charles 的使用

作者:Mitchell 

一、简介

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

二、关于信息过滤

  • 第一种方式:在主界面中部的 filter 栏中填入要过滤出来的关键字.例如服务器地址是: http:xxxx.com.
  • 第二种方式: 在上方菜单栏选择 "Proxy -> Recording Settings", 然后选择 Include 栏, 选择添加项目,然后填入所需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了,


    Charles 的使用_第1张图片
    屏幕快照 2015-12-06 下午9.45.59.png

三、协助 iOS 开发

  • Charles 上的设置:
    Proxy -> Proxy Settings,填入代理端口8888,并且勾选“Enable transparent HTTP proxying”


    Charles 的使用_第2张图片
    屏幕快照 2015-12-06 下午9.54.27.png
  • iPhone 上的设置
    首先获取电脑的 IP:

进入 terminal ifconfig en0 获取到 IP
进入手机设置-> 无线局域网中->点击详情将“HTTP 代理”一项切换为手动,然后填上刚才获取到的 IP 地址,以及端口号8888.
连接之后,Charles 上会弹出提示连接的框,点击 allow 即可相连。


四、模拟慢速网络

  • Proxy -> Throttle Setting ,如果想针对某些 host 来进行测试的话那么就勾选 Only for selected hosts,然后添加需要测试的 host 地址就可以了。


    Charles 的使用_第3张图片
    屏幕快照 2015-12-06 下午10.04.36.png

五、截取 SSL 信息

  • Charles 默认不截取 SSL 信息,可以右键点击网站,然后让 SSL 变的可以截取。


    Charles 的使用_第4张图片
    屏幕快照 2015-12-06 下午10.07.56.png

六、修改网络请求内容

  • 右键点击连接,点击 Edit,然后下方会重新创建出一个网络请求,可以在这个网络请求中修改
    所需要修改的参数,然后点击 excute 来重新发送这个网络请求。


    Charles 的使用_第5张图片
    屏幕快照 2015-12-06 下午10.11.52.png

七、修改服务器返回的内容

  • Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件
  • Rewrite 工恩呢刚适合对网络请求进行正则替换
  • Breakpoints 功能适合做一些临时性的修改

八、Map 功能

Charles 的 Map 功能分 Map Remote 和 Map Local两种,前者是将制定的网络请求重定向到另一个网址,MapLocal 是将制定的网络请求重定向到本地文件。

  • Map Remote 网络重定向,从哪个服务器重定向到哪个服务器


    Charles 的使用_第6张图片
    屏幕快照 2015-12-06 下午10.22.32.png

    Charles 的使用_第7张图片
    屏幕快照 2015-12-06 下午10.23.52.png
  • Map Local 将网络请求通过 Map Local 映射到了本地的一个经过修改的文件中:


    Charles 的使用_第8张图片
    屏幕快照 2015-12-06 下午10.28.41.png

九、Rewrite 功能

  • Rewrite 功能适合对某一类的网络请求进行一些正则替换,以达到修改结果的目的。


    Charles 的使用_第9张图片
    屏幕快照 2015-12-06 下午10.38.22.png

十、Breakpoints 功能

  • 有时候,我们只是想临时修改一次网络请求结果,使用 Rewrite 功能虽然也可以达到目的,但是过于麻烦,对于临时性的修改,我们最好使用 Breakpoints 功能。Charles 可以拦截网络请求。

参考链接
Charles 主要功能列表:http://www.charlesproxy.com/overview/about-charles/
Charles 官方网站:http://www.charlesproxy.com/

你可能感兴趣的:(Charles 的使用)