Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器链接Charles的代理访问互联网时,Charles能够监控浏览器发送和接收的全部数据。它容许一个开发者查看全部链接互联网的HTTP通讯,这些包括request, response和HTTP headers (包含cookies与caching信息)。来自百度百科浏览器
将 Charles 设置成系统代理服务器
Charles是经过将本身设置成代理服务器来完成封包截取的,因此使用 Charles 的第一步是将其设置成系统的代理服务器。选择菜单中的 “Proxy” -> “Windows Proxy” 来将 Charles 设置成系统代理。以下所示:cookie
以后,你就能够看到源源不断的网络请求出如今 Charles 的界面中。网络
注意:spa
Chrome 和 Firefox 须要设置成使用系统的代理服务器,或者直接将代理服务器设置成127.0.0.1:8888。代理
Charles 主界面介绍blog
Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。能够根据具体的须要在这两种视图以前来回切换。排序
Structure:视图将网络请求按访问的域名分类。图片
Sequence:视图将网络请求按访问的时间排序。开发
Charles 提供了简单的 Filter 功能,输入关键字来快速筛选出 URL 中带指定关键字的网络请求。对于某一个具体的网络请求,你能够查看其详细的请求内容和响应内容。若是请求内容是 POST 的表单,Charles 会自动帮你将表单进行分项显示。若是响应内容是 JSON 格式的,那么 Charles 能够自动帮你将 JSON 内容格式化,方便你查看。若是响应内容是图片,那么 Charles 能够显示出图片的预览。
过滤网络请求
一般状况下,须要对网络请求进行过滤,只监控指定服务器的请求。有3种办法:
方法一:在主界面的中部的 Filter 栏中输入须要过滤出来的关键字。例如咱们的服务器的地址是:http://www.jianshu.com , 那么只须要在 Filter 栏中输入 jianshu 便可。
方法二:菜单栏选择 “Proxy”->”Recording Settings”,在弹出的窗口中选择 Include 栏,再点击“Add”,在弹出的窗口中输入须要监控的协议,主机地址,端口号等信息,来添加一个项目。以下图所示:
方法三:在想过滤的网络请求上右击,选择 “Focus”,以后在 Filter 一栏勾选上 Focussed 一项,以下图所示:
能够临时性、快速地过滤掉一些没有经过关键字的网络请求。
截取手机上的网络封包