前端开发神器Charles从入门到卸载

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

一、花式夸奖Charles


  • 截取 Http 和 Https 网络封包。


  • 支持重发网络请求,方便后端调试。


  • 支持修改网络请求参数。


  • 支持网络请求的截获并动态修改。


  • 支持模拟慢速网络。


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


二、下载与安装


官网下载传送门


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


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


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


  1. 打开Charles,勾选Proxy下的macOS Proxy(如果是windows,此处为Windows Proxy)


  1. 点击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端口号



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



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


  1. 手机wifi网络配置


以华为mate 30为例,选择对应的wifi,选择显示高级选项,设置代理为手动。 设置服务器主机名为:xx.xx.xx.xx(刚才查看的电脑IP) 设置服务器端口为:8888(刚才设置的port) 点击保存后,手机的请求就可以在Charles中查看啦...



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



七、限速设置


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



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


小结


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


相关文章
|
5天前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
|
1月前
|
前端开发
【前端web入门第四天】02 CSS三大特性+背景图
本文详细介绍了CSS的三大特性:继承性、层叠性和优先级,并深入讲解了背景图的相关属性,包括背景属性、背景图的平铺方式、位置设定、缩放、固定以及复合属性。其中,继承性指子元素自动继承父元素的文字控制属性;层叠性指相同属性后定义覆盖前定义,不同属性可叠加;优先级涉及选择器权重,包括行内样式、ID选择器等。背景图部分则通过具体示例展示了如何设置背景图像的位置、大小及固定方式等。
245 91
|
1月前
|
前端开发
【前端web入门第四天】01 复合选择器与伪类选择器
本文档详细介绍了CSS中的复合选择器与伪类选择器。复合选择器包括后代选择器、子代选择器、并集选择器和交集选择器,能够更精确地定位和样式化元素。后代选择器用于选中某元素的所有后代,子代选择器仅选中直接子元素。并集选择器可为多个标签设置相同样式,而交集选择器则选中同时满足多个条件的元素。此外,还介绍了伪类选择器,如鼠标悬停效果和超链接的不同状态。
58 32
【前端web入门第四天】01 复合选择器与伪类选择器
|
28天前
|
JavaScript 前端开发 小程序
一小时入门Vue.js前端开发
本文是作者关于Vue.js前端开发的快速入门教程,包括结果展示、参考链接、注意事项以及常见问题的解决方法。文章提供了Vue.js的基础使用介绍,如何安装和使用cnpm,以及如何解决命令行中遇到的一些常见问题。
一小时入门Vue.js前端开发
|
5天前
|
自然语言处理 资源调度 前端开发
前端大模型入门(四):不同文本分割器对比和效果展示-教你如何根据场景选择合适的长文本分割方式
本文详细介绍了五种Langchain文本分割器:`CharacterTextSplitter`、`RecursiveCharacterTextSplitter`、`TokenTextSplitter`、`MarkdownTextSplitter` 和 `LatexTextSplitter`,从原理、优缺点及适用场景等方面进行了对比分析,旨在帮助开发者选择最适合当前需求的文本分割工具,提高大模型应用的处理效率和效果。
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
前端大模型入门(三):编码(Tokenizer)和嵌入(Embedding)解析 - llm的输入
本文介绍了大规模语言模型(LLM)中的两个核心概念:Tokenizer和Embedding。Tokenizer将文本转换为模型可处理的数字ID,而Embedding则将这些ID转化为能捕捉语义关系的稠密向量。文章通过具体示例和代码展示了两者的实现方法,帮助读者理解其基本原理和应用场景。
|
5天前
|
人工智能 前端开发 JavaScript
前端大模型入门(二):掌握langchain的核心Runnable接口
Langchain.js 是 Langchain 框架的 JavaScript 版本,专为前端和后端 JavaScript 环境设计。最新 v0.3 版本引入了强大的 Runnable 接口,支持灵活的执行方式和异步操作,方便与不同模型和逻辑集成。本文将详细介绍 Runnable 接口,并通过实现自定义 Runnable 来帮助前端人员快速上手。
|
8天前
|
存储 JavaScript 前端开发
前端开发:Vue.js入门与实战
【10月更文挑战第9天】前端开发:Vue.js入门与实战
|
8天前
|
前端开发 JavaScript 开发者
探索现代Web前端技术:React框架入门
【10月更文挑战第9天】 探索现代Web前端技术:React框架入门
|
1月前
|
前端开发
【前端web入门第三天】02 CSS字体和文本
本文详细介绍了CSS中字体和文本的相关属性。字体部分涵盖字体大小、粗细、样式、行高、字体族及`font`复合属性,通过具体示例展示了如何设置和使用这些属性。文本部分则讲解了文本缩进、对齐方式、修饰线及文字颜色等属性,并提供了实用的代码示例。此外,还简要介绍了调试工具中的一些细节,如错误属性标识和属性生效状态的控制。
58 28