概述

Charles相当于一个插在服务器和客户端之间的“过滤器”。当客户端向服务器发起请求的时候,先到charles进行过滤,然后charles在把最终的数据发送给服务器;
注意:此时charles发给服务器的数据,不一定是客户端请求的数据;charles在接到客户端的请求时可以自由的修改数据,甚至可以直接Block客户端发的请求
服务器接收请求后的返回数据,也会先到charles,经过charles过滤后再发给客户端;同理:客户端接收的数据,不一定就是服务器返回的数据,而是charles给的数据;

Charles使用

Charles配置

如果想要抓包,第一件事情,就是把charles设置成为本机和服务端之间的”过滤器”;让所有的网络请求全部经过charles,这样就可以捕获并记录到你请求的内容和返回数据了。

设置iPhone的HTTP代理

启动 Charles 后,第一次 Charles 会询问你是否把Charles设置为系统的代理,选择Allow。这样就配置完成了。

charles 主界面的介绍

Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。
– Structure/结构视图,将网络请求按访问的域名分类,比如某个域名下有n个资源请求,那么所有此域名下的请求都会在这里做一个详细的分类;

  • Sequence/序列视图,将网络请求按访问的时间排序,按照你的电脑的发送请求顺序进行。

Charles Filter过滤

求多了有些时候会看不过来,对于需要抓取的某个请求,通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,以下几种办法:

方案一

Charles 提供了一个简单的 Filter 功能,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求。
在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我查看的域名地址

方案二

在 Charles 的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了;

Charles 网络环境模拟

在开发中中有些bug需要在网络慢的场景中复现。我们可以利用Charles控制手机的网速。
在 Charles 的菜单栏选择 “Proxy”->”Throttle(节流) Settings”,然后勾选 Enable Throttling 选项,选择添加一个Throttle preset。这样就可以了;

Charles 抓包内容乱码解决

在安装的Charles程序右键显示报内容找到Info.plist文件JVMOptions在默认的-Xmx512m后面敲空格 添加-Dfile.encoding=UTF-8

对于其它的一些使用方法可参考:http://zhubangbang.com/charlesproxy

最新文章

  1. IE10(去掉文本框的X)
  2. SQL Queries from Transactional Plugin Pipeline
  3. vi/vim初步接触
  4. Windbg 双机代码同步调试设置
  5. Java [Leetcode 231]Power of Two
  6. 帝国cms中 内容分页的SEO优化
  7. maven指定构建的编码格式
  8. Ruby的语法糖
  9. mysql binlog 混合模式 出现的基于sql的数据不一致,主要是now()这类函数导致
  10. Nginx访问限速配置方法详解
  11. select标签 样式 及文本有空格
  12. Tomcat结构(转)
  13. 表达式求值(栈方法/C++语言描述)(三)
  14. apache mysql无法启动解决办法
  15. 为开源社区尽一份力,翻译RocketMQ官方文档
  16. 【TensorFlow篇】--Tensorflow框架可视化之Tensorboard
  17. C++自己实现一个String类
  18. 封装redis
  19. 解决win10隔几分钟自动黑屏睡眠的方法
  20. 【转载】C#使用正则表达式校验邮箱

热门文章

  1. C++——异常
  2. UVA 10242 Fourth Point
  3. cut 从/a/b/c/d/e获取/a/b/c
  4. 【Java多线程系列随笔一】浅析 Java Thread.join()
  5. linux 创建用户并限制其访问目录
  6. 一键抓取Android的Locat Log
  7. 从零开始搭建系统2.2——ELK安装及配置
  8. 驾驶心率和呼吸,疲劳检测系统,通过安全带,坐垫等内置sensor
  9. Python自学:第四章 遍历切片
  10. 8-26接口压力测试-1Dubbo接口测试