• 14
  • 15
分享
  • Charles常用的功能总结——软件测试圈
  • 恬恬圈 2022-02-24 11:08:24 字数 2392 阅读 2941 收藏 15

Charles常用的功能总结

  1. 过滤网络请求;

  2. 截取 iPhone 上的网络封包;

  3. 截取 Https 通讯信息;

  4. 模拟慢速网络;

  5. 修改网络请求内容;

  6. 给服务器做压力测试;

  7. 修改服务器返回内容;

  8. Map 重定向功能;

  9. Rewrite 功能;

  10. Breakpoints 功能;

  11. 设置ssl允许访问地址;

  12. 查看连接本机charle代理的ip;

  13. 设置请求的黑名单;

  14. 缓存请求返回的内容。

图片1.png

对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果请求内容是 POST 的表单,Charles 会自动帮你将表单进行分项显示。如果响应内容是 JSON 格式的,那么 Charles 可以自动帮你将 JSON 内容格式化,方便你查看。如果响应内容是图片,那么 Charles 可以显示出图片的预览。

1.过滤网络请求

通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,以下几种办法:

方法一:在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:http://blog.csdn.net, 那么只需要在 Filter 栏中填入 csdn 即可。

图片2.jpg

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

图片3.jpg

方法三:在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项,如下图所示:

图片4.jpg

2.截取 iPhone 上的网络封包

charles如何抓取http/https请求

3.截取 Https 通讯信息

charles如何抓取http/https请求

4.模拟慢速网络

在做移动开发的时候,我们常常需要模拟慢速网络或者高延迟的网络,以测试在移动网络下,应用的表现是否正常。Charles 对此需求提供了很好的支持。

在 Charles 的菜单上,选择 “Proxy”->”Throttle Setting” 项,在之后弹出的对话框中,我们可以勾选上 “Enable Throttling”,并且可以设置 Throttle Preset 的类型。如下图所示:

图片5.jpg

5.修改网络请求地址

dns欺骗,说简单点就是把域名解析到一个假的ip,

可以不必一定要用locahost,127.0.0.1,装个B把百度对应到京东来调试~

选择Tools->DNS Spoofing,设置如下图:

图片6.jpg

6.给服务器做压力测试

图片7.jpg

图片8.jpg

7.修改服务器返回内容

有些时候我们想让服务器返回一些指定的内容,方便我们调试一些特殊情况。例如列表页面为空的情况,数据异常的情况,部分耗时的网络请求超时的情况等。如果没有 Charles,要服务器配合构造相应的数据显得会比较麻烦。这个时候,使用 Charles 相关的功能就可以满足我们的需求。

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

  • Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件。

  • Rewrite 功能适合对网络请求进行一些正则替换。

  • Breakpoints 功能适合做一些临时性的修改。

8.Map 重定向功能

Charles 的 Map 功能分 Map Remote 和 Map Local 两种,顾名思义,Map Remote 是将指定的网络请求重定向到另一个网址请求地址,Map Local 是将指定的网络请求重定向到本地文件。

在 Charles 的菜单中,选择 “Tools”->”Map Remote” 或 “Map Local” 即可进入到相应功能的设置页面。

图片9.png

  • 对于 Map Local 功能,我们需要填写的重定向的源地址和本地的目标文件。对于有一些复杂的网络请求结果,我们可以先使用 Charles 提供的 “Save Response…” 功能,将请求结果保存到本地(如下图所示),然后稍加修改,成为我们的目标映射文件。

图片10.jpg

9.Rewrite 功能

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

例如,我们的客户端有一个 API 请求是获得用户余额,而我当前的余额是 “17.06”,如下所示:

图片11.jpg

重写设置:

图片12.jpg

再次请求,余额变成了2222,重写成功。

图片13.jpg

10.Breakpoints 功能

上面提供的 Rewrite 功能最适合做批量和长期的替换,但是很多时候,我们只是想临时修改一次网络请求结果,这个时候,使用 Rewrite 功能虽然也可以达到目的,但是过于麻烦,对于临时性的修改,我们最好使用 Breakpoints 功能。

Breakpoints 功能类似我们在 Xcode 中设置的断点一样,当指定的网络请求发生时,Charles 会截获该请求,这个时候,我们可以在 Charles 中临时修改网络请求的返回内容。

下图是我们临时修改获取用户信息的 API,将用户的昵称进行了更改,修改完成后点击 “Execute” 则可以让网络请求继续进行。

图片14.png

按照上边设置好以后,再次访问接口将会有断点提示,进入编辑返回的内容即可(我在运用时很奇怪,设置成功后,得退出一次charles程序,再启动才会有断点界面)

图片15.png

图片16.png

11.设置ssl允许访问地址

图片17.png

12.看连接本机charle代理的ip

有非法的remove掉即可

图片18.jpg

13.设置请求的黑名单

不想某些请求发起,直接返回404,可以用黑名单

选择Tools->Black List,设置如下图:

图片19.jpg

14.缓存请求返回的内容

这个我用来干过做缓存数据用,让app在没有server的时候也能跑,

选择Tools->Mirror,设置如下图:

 图片20.jpg

 

文章来源:百度文库

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 今年 1 月 28 日,中国国家航天局对地观测与数据中心主任赵坚在新闻发布会上表示,“羲和号”卫星目前已经取得了一系列技术和科学实验成果,中国国家航天局将于今年择机发布。据央视新闻今日报道,其记者从国家航天局获悉,我国首颗太阳探测科学技术试验卫星“羲和号”成果今日正式发布,共创下 5 个国际首次。“羲和号”国际首次实现了超高指向精度、超高稳定度卫星平台技术在轨性能验证及工程应用。具体来说,“羲和号”通过大带宽、高精度磁浮作动器,实现了相机指向精度 10-4° 的超高指向精度、稳定度 10-5°/s 量级的超高稳定度。同时,“羲和号”完成了国际首次太阳空间 Hα 成像光谱仪在轨应用,并成功实现了...
            0 0 835
            分享
          •   Postman不仅是一个强大的 API 开发工具,它还提供了创建自动化测试脚本的能力,这些脚本可以用于检验API请求得到的响应是否符合预期。这些测试脚本被称为 “Tests”,支持使用 JavaScript 编程语言进行编写,并且 Postman 提供了一系列的断言库来帮助你检查包括但不限于状态码、响应内容以及响应时间在内的响应数据。  创建并运行这些测试脚本的过程分为几个步骤:  创建新的API请求  首先,启动 Postman 应用并新建一个 API 请求。在请求设置界面的顶部导航中,找到并点击 "Tests" 标签。此处提供了一个编辑器,允许你输入和编辑 Java...
            0 0 1389
            分享
          • 怎样才能放下自己的成见,真正体会到对方的情绪和潜在的内心需求?说起来也怪,最近稍微一闭上眼睛,仿佛可以穿越附体到另一个人身上,能很快地体会到他当下的心情,潜在的内心需求。现在试着分析一下,怎么能屡试不爽。人们的语言,动作,表情,在表达时会被同时调用,语言传递的信息量只在5%左右,动作表情等肢体动作可能占到了80%左右,剩下的一部分可能在内心活动和当时聊天的场景环境中。如果你愿意放下自己的观点,完全复制一套对方的语言,表情,动作,结合对方的背景,舍身处地地体会,定能感同身受的同频共振,定能与他真正在一起。这个能力不是每个人一出手就能练会的。需要多年人生感悟和独到见解。但是这个容易给感同身受的人本...
            1 1 1292
            分享
          •   美国的制裁可能已经将华为的智能手机业务逼到了绝境,但这家中国公司依然坚持不懈,并设法通过生产麒麟 9000S 绕过了这些贸易限制,这是其在短暂停滞后推出的这款定制 SoC被应用于新发布的 Mate 60 Pro 5G。  媒体对新发布的华为Mate 60 Pro 5G 进行了拆解,揭示了全新的麒麟 9000S 芯片 / 图片来源 - 彭博社  虽然在进行性能和效率比较时,麒麟 9000S 并不是能力最强的芯片组,但它的诞生标志着华为未来不再依赖高通等公司的意图,据一位分析师称,高通可能会因为这款新芯片而损失数十亿美元。  尽管华为受到贸易制裁,但仍是高通公司最大的客户之一,2022 年和 ...
            0 0 745
            分享
          • 读者提问: 免费好用的在线手机号码生成工具,有推荐的吗 ? 阿常回答: 有,这 4 款在线手机号码处理神器,推荐使用 ! 1、在线手机号码生成器 设置自定义区域(省、市)、运营商号段(移动、联通、电信)、生成号码数量(最多 500 个),生成的号码均无重复,可以导出到 Excel 或 TXT 中。 官网地址: https://uutool.cn/phone-generate/   2、在线手机号段全部号码生成器 设置 7 位手机号段,生成号段内前 500 个手机号码,可以导出...
            0 0 63867
            分享
      • 51testing软件测试圈微信