前言

本文将带大家学习使用前端开发神器-charles,从基本的下载安装到常见配置使用,为大家一一讲解。

一、花式夸奖Charles

  • 截取 Http 和 Https 网络封包。
  • 支持重发网络请求,方便后端调试。
  • 支持修改网络请求参数。
  • 支持网络请求的截获并动态修改。
  • 支持模拟慢速网络。

好,骑上我心爱的小摩托,准备上路...

二、下载与安装

官网下载传送门

本文所使用的的版本为 mac V4.5.6版本,不同版本间的具体化差异,大家可留言交流。

Charles破解工具可通过关注公众号「胡哥有话说」,回复关键字charles获得。

三、简单入门-抓包所有请求

  1. 打开Charles,勾选Proxy下的macOS Proxy(如果是windows,此处为Windows Proxy)
  2. 点击Proxy->Start Recording,打开浏览器访问任意页面,可以在Charles中看到请求了。

很好,现在已经上路了,学习的路上永不堵车...

四、设置过滤请求

通过上面的操作,我们已经抓包了所有的请求,实际开发中可能是专门针对某些接口(如百度域名下的接口),我们可以专门配置过滤接口。

  1. 临时性过滤配置

    在展示界面的Filter中可进行条件过滤

    同时可在右侧的settings中配置使用正则来进行过滤

  2. 永久性过滤配置

    通过Proxy->Recording Settings->include中配置过滤条件

Ok,我们又前进了一大步

五、代理转发请求

通过CharlesMap RemoteMap Local我们也可以配置代理转发请求。

Map Remote

Map Remote 远程映射,是将指定的网络请求重定向到另一个网址

业务场景:

某些服务端的文件请求时限制某些特定域名(*.baidu.com),我们使用localhost启动项目时,会导致没有权限访问。通过配置Map Remote远程映射解决问题。

配置路径:

设置Tools->Map Remote



如图上的配置,本地启动的项目地址为:http://localhost:8080(或 http://127.0.0.1:8080),现在再访问,可以使用路径 http://test.baidu.com访问即可。

注意Enable Map Remote一定要勾选,以及相应规则也要勾选,否则不会生效

Map Local

Map Local 本地映射,是指将指定的网络请求重定向到本地的文件

业务场景:

在本地化的开发中,接口数据Mock;或者是线上环境问题排查时,将请求重定向到本地文件以方便排查。

配置路径:

设置Tools->Map Local



通过如上图的配置,请求 aa.baidu.com:443/index时,会被映射到本地 /xx/index.json

注意Enable Map Local一定要勾选,以及相关规则也要勾选,否则不会生效。

六、手机抓包

手机抓包请求也是我们日常开发中需要用到的,那如何利用Charles抓包手机请求呢。

  1. 设置Charles的代理端口号

    通过设置Proxy->Proxy Settings->Proxies->HTTP Proxy下的Port端口号

  2. 查看本地IP地址

    通过CharlesHelp->Local IP Address查看,本机IP为xx.xx.xx.xx

  3. 手机和电脑需要处于同于wifi网络内

  4. 手机wifi网络配置

    以华为mate 30为例,选择对应的wifi,选择显示高级选项,设置代理为手动

    设置服务器主机名为:xx.xx.xx.xx(刚才查看的电脑IP)

    设置服务器端口为:8888(刚才设置的port)

    点击保存后,手机的请求就可以在Charles中查看啦...

    注意链接时,Charles会弹出授权窗口,要选择Allow

七、限速设置

通过设置Proxy->Throttle Settings来进行速度限制

注意:一定要勾选 Enable Throttling选项

小结

以上是给大家分享的Charles的常见使用配置,如有相关问题可留言交流。

后记

以上就是胡哥今天给大家分享的内容,喜欢的小伙伴记得点赞收藏呦,关注胡哥有话说,学习前端不迷路,欢迎多多留言交流...

胡哥有话说,一个有技术,有情怀的胡哥!现任京东前端攻城狮一枚。

胡哥有话说,专注于大前端技术领域,分享前端系统架构,框架实现原理,最新最高效的技术实践!

前端开发神器Charles从入门到卸载的更多相关文章

  1. webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器

    #webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器 -- 工欲善其事 必先利其器 ##各工具介绍 `webstorm`是**JetBrains* ...

  2. Web前端开发神器--WebStorm(JavaScript 开发工具) 8.0.3 中文汉化破解版

    WebStorm(JavaScript 开发工具) 8.0.3 中文汉化破解版 http://www.jb51.net/softs/171905.html WebStorm 是jetbrains公司旗 ...

  3. 前端开发神器 VSCode 使用总结

    VSCode 是微软出品的,基于 Electron 和 TypeScript 的,集成了 git 版本管理和命令行终端,而且开源稳定,插件丰富,再搭配一款 Chrome 浏览器,可以说是前端开发神器了 ...

  4. 1. web前端开发分享-css,js入门篇

    关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...

  5. web前端开发分享-css,js入门篇(转)

    转自:http://www.cnblogs.com/jikey/p/3600308.html 关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人 ...

  6. Sublime Text 使用指南 - 前端开发神器

    Sublime Text 前端开发的神器 Sublime Text是一个前端开发者必备的编辑器,大量的插件,完善的功能,优越的性能,有非常多的特色,给前端开发提供了一个完善的开发条件. 本文主要介绍的 ...

  7. web前端开发分享-css,js入门篇

    学习没有捷径,但学习是有技巧与方法.   一,css入门篇:   推荐书籍:css哪些事儿,精通css. 理由:css那些事儿,他是一本介绍css基础类的书,是入门的经典读物. 系统的介绍了css的选 ...

  8. 前端开发神器 - Brackets

    做了几年的 .Net 项目开发,后来公司转 Java 语言开发,Java 做了还没一年,公司准备前后端分离开发,而我被分到前端! Brackets是一款基于web(html+css+js)开发的web ...

  9. 前端开发神器Sublime Text2/3之安装使用(windows7/Mac)

    一,到官方网站下载神器 地址:http://www.sublimetext.com/3 Sublime Text 3 配置解释(默认){// 设置主题文件“color_scheme”: “Packag ...

随机推荐

  1. leetcode976之三角形最大周长

    题目描述: 给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的.面积不为零的三角形的最大周长. 如果不能形成任何面积不为零的三角形,返回 0. def largePara(A): A. ...

  2. Rocket - debug - TLDebugModuleInner - Hart Bus Access

    https://mp.weixin.qq.com/s/deNMEyJ1idJDVoZwwo0A1A 简单介绍TLDebugModuleInner中核心总线访问(Hart Bus Access). 参考 ...

  3. 【Checkpoint】HA模式下结合zookeeper说一下checkpoint流程

    checkpoint过程 配置了HA的HDFS中,有active和standby namenode两个namenode节点.他们的内存中保存了一样的集群元数据信息,这个后续我会详细用一篇文章介绍HA, ...

  4. 【Mybatis】mybatis开启Log4j日志、增删改查操作

    Mybatis日志(最常用的Log4j) 官方网站http://www.mybatis.org/mybatis-3/zh/logging.html 1.在src目录下创建一个log4j.propert ...

  5. JAVASE(八) 数组: 一维数组、二维数组、动态数组、静态数组

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.一维数组 1.1 数组的声明和初始化声明方式: String str[]; //不建议使用 Stri ...

  6. Java实现 蓝桥杯VIP 算法训练 非递归(暴力)

    试题 算法训练 非递归 问题描述 当x>1时,Hermite多项式的定义见第二版教材125页.用户输入x和n,试编写"非递归"函数,输出对应的Hermite多项式的值.其中x ...

  7. Java实现 LeetCode 290 单词规律

    290. 单词规律 给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律. 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非 ...

  8. java实现第四届蓝桥杯埃及分数

    埃及分数 古埃及曾经创造出灿烂的人类文明,他们的分数表示却很令人不解.古埃及喜欢把一个分数分解为类似: 1/a + 1/b 的格式. 这里,a 和 b 必须是不同的两个整数,分子必须为 1 比如,2/ ...

  9. 利用tcpdump命令统计http的GET和POST请求

    1.搭建的知识库服务器, 需要统计来访者都是哪些人,因为系统不是自己开发的,看不到访问日志.所以考虑从系统层面抓取访问流量来实现. 2.通过tcpdump抓取的数据包,在wireshark中打开发现, ...

  10. Grafana 插件地图Worldmap不显示

    介绍 最近上了ELK 日志分析,想着手看下用户的分布情况,在kibana 中展示用户分布情况是没有问题的,但是索引添加到Granfana 中的话就无法展示. 问题描述 添加ES索引以后,map地图一片 ...