美文网首页iOS
Charles 的使用

Charles 的使用

作者: Mitchell | 来源:发表于2015-12-06 22:53 被阅读5421次
    作者:Mitchell 
    

    一、简介

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

    二、关于信息过滤

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


      屏幕快照 2015-12-06 下午9.45.59.png

    三、协助 iOS 开发

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


      屏幕快照 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 地址就可以了。


      屏幕快照 2015-12-06 下午10.04.36.png

    五、截取 SSL 信息

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


      屏幕快照 2015-12-06 下午10.07.56.png

    六、修改网络请求内容

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


      屏幕快照 2015-12-06 下午10.11.52.png

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

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

    八、Map 功能

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

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


      屏幕快照 2015-12-06 下午10.22.32.png
      屏幕快照 2015-12-06 下午10.23.52.png
    • Map Local 将网络请求通过 Map Local 映射到了本地的一个经过修改的文件中:


      屏幕快照 2015-12-06 下午10.28.41.png

    九、Rewrite 功能

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


      屏幕快照 2015-12-06 下午10.38.22.png

    十、Breakpoints 功能

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

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

    相关文章

      网友评论

      • sunbinqiang:设置了map remote 以后, 如果不想用map, 怎么设置回来?

      本文标题:Charles 的使用

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