前端开发神器Charles从入门到卸载
前言
本文将带大家学习使用前端开发神器-charles,从基本的下载安装到常见配置使用,为大家一一讲解。
一、花式夸奖Charles
- 截取 Http 和 Https 网络封包。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 支持模拟慢速网络。
好,骑上我心爱的小摩托,准备上路...
二、下载与安装
官网下载传送门
本文所使用的的版本为 mac V4.5.6版本,不同版本间的具体化差异,大家可留言交流。
Charles破解工具可通过关注公众号「胡哥有话说」,回复关键字
charles获得。
三、简单入门-抓包所有请求
- 打开
Charles,勾选Proxy下的macOS Proxy(如果是windows,此处为Windows Proxy) - 点击
Proxy->Start Recording,打开浏览器访问任意页面,可以在Charles中看到请求了。

很好,现在已经上路了,学习的路上永不堵车...
四、设置过滤请求
通过上面的操作,我们已经抓包了所有的请求,实际开发中可能是专门针对某些接口(如百度域名下的接口),我们可以专门配置过滤接口。
临时性过滤配置
在展示界面的
Filter中可进行条件过滤

同时可在右侧的
settings中配置使用正则来进行过滤永久性过滤配置
通过
Proxy->Recording Settings->include中配置过滤条件

Ok,我们又前进了一大步
五、代理转发请求
通过Charles的Map Remote和Map 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抓包手机请求呢。
设置
Charles的代理端口号
通过设置Proxy->Proxy Settings->Proxies->HTTP Proxy下的Port端口号
查看本地IP地址
通过Charles的Help->Local IP Address查看,本机IP为xx.xx.xx.xx
手机和电脑需要处于同于wifi网络内
手机wifi网络配置
以华为mate 30为例,选择对应的wifi,选择
显示高级选项,设置代理为手动。
设置服务器主机名为:xx.xx.xx.xx(刚才查看的电脑IP)
设置服务器端口为:8888(刚才设置的port)
点击保存后,手机的请求就可以在Charles中查看啦...

注意链接时,
Charles会弹出授权窗口,要选择Allow
七、限速设置
通过设置Proxy->Throttle Settings来进行速度限制

注意:一定要勾选
Enable Throttling选项
小结
以上是给大家分享的Charles的常见使用配置,如有相关问题可留言交流。
后记
以上就是胡哥今天给大家分享的内容,喜欢的小伙伴记得点赞、收藏呦,关注胡哥有话说,学习前端不迷路,欢迎多多留言交流...
胡哥有话说,一个有技术,有情怀的胡哥!现任京东前端攻城狮一枚。
胡哥有话说,专注于大前端技术领域,分享前端系统架构,框架实现原理,最新最高效的技术实践!
前端开发神器Charles从入门到卸载的更多相关文章
- webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器
#webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器 -- 工欲善其事 必先利其器 ##各工具介绍 `webstorm`是**JetBrains* ...
- Web前端开发神器--WebStorm(JavaScript 开发工具) 8.0.3 中文汉化破解版
WebStorm(JavaScript 开发工具) 8.0.3 中文汉化破解版 http://www.jb51.net/softs/171905.html WebStorm 是jetbrains公司旗 ...
- 前端开发神器 VSCode 使用总结
VSCode 是微软出品的,基于 Electron 和 TypeScript 的,集成了 git 版本管理和命令行终端,而且开源稳定,插件丰富,再搭配一款 Chrome 浏览器,可以说是前端开发神器了 ...
- 1. web前端开发分享-css,js入门篇
关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...
- web前端开发分享-css,js入门篇(转)
转自:http://www.cnblogs.com/jikey/p/3600308.html 关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人 ...
- Sublime Text 使用指南 - 前端开发神器
Sublime Text 前端开发的神器 Sublime Text是一个前端开发者必备的编辑器,大量的插件,完善的功能,优越的性能,有非常多的特色,给前端开发提供了一个完善的开发条件. 本文主要介绍的 ...
- web前端开发分享-css,js入门篇
学习没有捷径,但学习是有技巧与方法. 一,css入门篇: 推荐书籍:css哪些事儿,精通css. 理由:css那些事儿,他是一本介绍css基础类的书,是入门的经典读物. 系统的介绍了css的选 ...
- 前端开发神器 - Brackets
做了几年的 .Net 项目开发,后来公司转 Java 语言开发,Java 做了还没一年,公司准备前后端分离开发,而我被分到前端! Brackets是一款基于web(html+css+js)开发的web ...
- 前端开发神器Sublime Text2/3之安装使用(windows7/Mac)
一,到官方网站下载神器 地址:http://www.sublimetext.com/3 Sublime Text 3 配置解释(默认){// 设置主题文件“color_scheme”: “Packag ...
随机推荐
- Rocket - tilelink - WidthWidget
https://mp.weixin.qq.com/s/pmJcsRMviJZjMwlwYw6OgA 简单介绍WidthWidget的实现. 1. 基本介绍 用于设定与上游节点连接 ...
- Splay代码简化版
皆さん.こんにちは.上一篇文章,我们讲了Splay如何实现.这一篇我们来让我们的伸展树短一点. 上一篇Splay讲解的链接:リンク. 首先还是变量的定义,在这里呢,我把一些小函数也用Define来实现 ...
- api.versioning 版本控制 自动识别最高版本
Microsoft.AspNetCore.Mvc.Versioning //引入程序集 .net core 下面api的版本控制作用不需要多说,可以查阅https://www.cnblogs.com/ ...
- JavaScript实现登录滑动验证
来自于GitHub, 如何快速访问GitHub 先附上效果图 划到一半停止回自己回去的 PS: 附上代码,有需要自己更改, <!DOCTYPE html> <html lang=&q ...
- Java实现 LeetCode 328 奇偶链表
328. 奇偶链表 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂 ...
- Java实现 蓝桥杯VIP 算法训练 比较字符串
算法训练 比较字符串 时间限制:1.0s 内存限制:512.0MB 编程实现两个字符串s1和s2的字典序比较.(保证每一个字符串不是另一个的前缀,且长度在100以内).若s1和s2相等,输出0:若它们 ...
- Python爬虫之request +re
什么是爬虫? 它是指向网站发起请求,获取资源后分析并提取有用数据的程序: 爬虫的步骤: 1.发起请求 使用http库向目标站点发起请求,即发送一个Request Request包含:请求头.请求体等 ...
- Zabbix 邮箱告警(Python脚本)
Python 脚本内容 #!/bin/env python #coding:utf- import smtplib from email.mime.text import MIMEText from ...
- STM32学习笔记——printf
printf复习 当我们写printf("%d\n", 1);的时候,printf函数并不能通过C语言语法得知第二个参数是int类型.printf是一个变参函数(variadic ...
- 线程的状态及sleep、wait等方法的区别
1.创建状态 使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态.它保持这个状态直到程序 start() 这个线程. 2.就绪状态 当线程对象调用了start ...