美文网首页
charles常用功能

charles常用功能

作者: 回调的幸福时光 | 来源:发表于2018-08-13 09:27 被阅读71次

将charles设置成系统代理

抓包原理:charles是通过将自己设置成代理服务器来完成封包截取的。

windows平台:选择菜单中的"Proxy" -> "Windows Proxy"
mac平台:选择菜单中的"Proxy" -> "Mac OS X Proxy"

查看抓包请求

charles提供两种查看抓包的的视图

  1. structure 视图将网络请求按访问的域名分类
  2. sequence 视图将网络请求按访问的时间排序

过滤网络请求

方法一:使用filter栏

方法二:在菜单栏选择"Proxy" -> "Recording Settings",然后选择 include 项,添加一个 location ,填入需要监控的协议、主机地址、端口号,即可只截取目标服务器的网络请求了。

方法三:在想过滤的网络请求上右击,选择"Focus",之后在 Filter 一栏勾选上 Focussed 选项。

截取手机上的网络请求

charles 上的设置
将代理功能打开,在菜单栏中选择 "proxy" -> "proxy setting", 默认是proxies项,
在 http proxy设置框中,填入代理端口8888,并且勾选 "enable transparent HTTP proxying"。

手机上的设置
打开wifi设置,在详情中找到http 代理一项,选择手动模式,填入 charles 运行所在的电脑的ip,以及端口号8888。

截取 https 通讯协议

安装证书:安装 charles 的CA证书。

电脑上安装证书:
在菜单栏选择 "help" -> "ssl proxying" -> "install charles Root Certificate",之后安装证书即可。

手机上安装证书
在菜单栏选择 "help" -> "ssl proxying" -> "install charles Root Certificate on a Mobile Devices or Remote Browser",会弹出弹窗,内容如下:

configure your devices to use charles as it's  HTTP proxy on x.x.x.x:8888, then browse to chls.pro/ssl to download and install the certificate.

经测试,在iphone上,需要使用safari浏览器才行,使用QQ浏览器无法识别证书,不能安装。

开启截取HTTPS
在菜单栏选择 "proxy" -> "ssl proxy setting" -> ssl proxying,然后勾选 Enable SSL Proxying,添加 location, 输入主机地址、端口号(https默认端口是443)

手机上信任证书
iPhone:设置 -> 通用 -> 关于本机 -> 证书信任设置

模拟慢速网络

在做移动开发的时候,我们常需要模拟慢速网络或者高延迟的网络,以测试在移动网络下,应用的表现是否正常。

在菜单栏中选择 "proxy" -> "Throttle Setting" ,然后勾选 Enable Throttling,并且可以设置 Throttle Preset 类型。

  • only for selected hosts
    勾选这个选项后,可添加 location ,只模拟制定网站的慢速网络。

修改网络请求内容

在以往请求上点击右键,选择 "compose", 即可创建一个可编辑的网络请求。
我们可以修改该请求的任何信息,包括url、端口、参数等,之后点击 "Execute" 即可发送该修改后的网络请求。

给服务器做压力测试

可以使用Charles 的 Repeat 功能来简单地测试服务器的并发能力,方法如下。

在需要测试的网络请求上右击,选择 Repeat Advanced项,可以在弹出的对话框中设置请求次数以及并发线程数。

修改服务器返回内容

有时候我们想让服务器返回一些指定的内容,方便我们调试一些特殊情况。例如列表页面为空的情况,数据异常的情况,部分耗时的网络请求超时的情况等。

根据具体的需求,charles 提供了 Map 功能、Rewrite 功能、以及 Breakpoints 功能,都可以达到修改服务器返回内容的目的。这三者在功能上的差异是:

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

Map 功能

charles的 Map 功能分 Map Remote 和 Map local 两种。

  • Map Remote 是将制定的网络请求重定向到另一个网址请求地址
  • Map Local 是将制定的网络请求重定向到本地文件

在菜单栏中选择 "tools" -> "Map Remote"
需要填写网络重定向的源地址和目的地址,对于不需要限制的条件可以留空。

在菜单栏中选择 "tools" -> "Map Local"
对于复杂的网络请求结果,我们可以先使用 charles 的 save Response 功能, 将请求结果保存到本地,然后稍加修改,成为我们的目标映射文件。

Rewrite 功能

在菜单栏中选择 "tools" -> "Rewrite"

添加 rule ,修改返回内容。
缺点:只能修改简单的字段,复杂的不适合(使用Map Local)

添加rule, 作为代理
更建议使用Map Remote

BreakPoints 功能

临时性
在菜单栏中选择 "proxy" -> "BreakPoints setting"

注意事项
当开启断点功能时,请注意接口的参数部分。
如果某个参数是变化的,charles会认为是另外一个请求,则断点无效。

反向代理

在菜单栏中选择 "proxy" -> "Reverse proxies settings"
反向代理功能允许我们将本地的端口映射到远程的另一个端口上。

设置外部代理,解决与翻墙软件冲突

charles和翻墙软件都是把自己设置成系统代理,会产生冲突。

在菜单栏中选择 "proxy" -> external Proxy Settings

参考

charles从入门到精通

相关文章

  • Charles 使用方法

    Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 常用功能 1...

  • Charles的使用详细介绍

    一、Charles简介 1.Charles的功能 Charles 是在 PC 端常用的网络封包截取工具,在做移动开...

  • Charles的使用详细介绍

    一、Charles简介 1.Charles的功能 Charles 是在 PC 端常用的网络封包截取工具,在做移动开...

  • Charles for Mac使用

    Charles的功能很强大,我们这里只介绍几个常用的并且非常实用的功能: 将Charles设置成系统代理 截取移动...

  • charles常用功能

    将charles设置成系统代理 抓包原理:charles是通过将自己设置成代理服务器来完成封包截取的。 windo...

  • charles常用功能

    转自:http://blog.csdn.net/ty_hf/article/details/54575174 1....

  • charles常用功能

    charles使用教程 简介 安装证书 过滤网络请求 断点 模拟弱网环境 重发(造数据、简单并发) 一、简介 Ch...

  • Charles常用功能

    一、map local 1、使用背景介绍 测试中服务端下发的数据,并非是目标测试数据。此时可以通过map lo...

  • 开发相关工具简介

    1.Charles的常用功能简介: 常用功能:1.监控网络请求2.修改接口返回Tools -> Rewrite 3...

  • charles的使用

    charles 常用功能 1、截取接口信息 2、断点并修改网络请求 3、模拟弱网 安装配置 Charles官网ht...

网友评论

      本文标题:charles常用功能

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