前言

本文将带大家学习使用前端开发神器-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. ES6-for...of与for...in

    1.includes 数组是否包含某个东西 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  2. 使用VUE开发用户后台时的动态路由问题、按钮权限问题以及其他页面处理问题

    如今前后端分离是大势所趋,笔者虽然是做后台的,但也不得不学学前端的流行框架VUE -_-||| . 为了学习VUE,笔者搭建了一个简单的用户后台,以此来了解VUE的开发思路(注:本项目不用于实际开发, ...

  3. Chisel3 - model - connect

    https://mp.weixin.qq.com/s/w8NqM3GVlF0NydpsB65KPg   介绍创建模块顺序逻辑的connect命令.     0. 这里先简单对 "=" ...

  4. 高性能可扩展mysql 笔记(一)数据库表、索引、SQL语句设计规范

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 项目说明:该笔记的背景为电商平台项目,电商项目由于其高并发.多线程.高耗能等特性,在众多的项目类型中涉及 ...

  5. Java实现 LeetCode 53 最大子序和

    53. 最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 ...

  6. Java实现找零问题

    1 问题描述 现需找零金额为n,则最少需要用多少面值为d1 < d2 < d3 < - < dm的硬币?(PS:假设这m种面值d1 < d2 < d3 < - ...

  7. ant构建Jmeter脚本的build文件配置(build.xml)

    使用此构建文件可自动发送邮件  代码如下: <?xml version="1.0" encoding="UTF8"?> <project na ...

  8. 单例模式之懒汉模式,懒汉模式之高效模式,DLC双判断模式

    import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; imp ...

  9. 读懂操作系统之虚拟内存TLB与缓存(cache)关系篇(四)

    前言 前面我们讲到通过TLB缓存页表加快地址翻译,通过上一节缓存原理的讲解为本节做铺垫引入TLB和缓存的关系,同时我们来完整梳理下从CPU产生虚拟地址最终映射为物理地址获取数据的整个过程是怎样的,若有 ...

  10. DML_The OUTPUT Clause

    DML_The OUTPUT Clause /**/ ------------------------------------------------------------------------- ...