当前位置:网站首页>charles简单使用
charles简单使用
2022-08-08 20:52:00 【俩娃的爸爸】
每天记录自己学习的东西,日积月累你会发现自己有这么多的收获了!
#由于自己从win换到MAC导致只能使用了charles了,这里只是记录了我自己个人使用的操作,大神轻喷,我是小白~~~~
#具体的charles链接的方法网上很多,我就不说了,只记录自己遇到问题和使用方法
一、基本使用
换了电脑之后发现不能使用fiddler了,只能笨手笨脚的使用charles工具,刚接触新工具是真心抓瞎,配置还好说就是用着很不习惯
1、重复发包功能Repeat
跟fiddler中的菜单栏上面的绿色重复请求按钮一样的功能;
这个是对单个请求直接进行重复发包,将请求重新发送到服务器,并将响应显示为新请求,这个请求重复浏览器上看不见,但是charles中会看到,只要找到点亮的请求就是刚刚发送的求情
2、高级重复发包功能Repeat Advanced(下面是截图)
二、charles还有两种界面展示模式
1、左右展示Structure模式,看惯了fiddler的用这就稍微舒服点,左边是抓取的链接和接口,右边是请求的详细的信息页面,需要的东西都在右边显示
2、上下展示Sequence模式,这个就累死浏览器的F12显示一样,把所有的请求都列出来,顺序以请求的顺序执行的,暂时没用呢,看不惯这个。
三、mock使用模拟响应(一)
1、首选要知道需要mock的response是什么,找到之后在对应请求上右键出功能菜单,选择Save Response,把请求存下来(可以自定义名称,自己能找到就,如图1行了)
2、把保存好的数据文件打开,然后修改其中想要的数据
3、把修改后的文件保存,回到charles刚刚的界面,再刚刚的位置继续右键功能菜单,找到Map Local点击(图2)
4、弹出mock菜单,上方展示的是来源,下方是我们要修改的文件来源点击choose,找到修改好的文件,(case-sensitive,这个是区分大小写勾选),OK
5、刷新app端查看修改后的内容(图3)
mock使用模拟响应(二)
1、开启断点功能(Enable Breakpoints,导航栏下方一个八卦镜子一样的标志勾选
2、再要进行mock的url右键功能菜单Breakpoints,开启进行断点操作,刷新页面(Breakpoint,第一次Excute是http request的修改发送,第二次response的本地文件修改发送)(图1)
3、弹出断点页面后第一次点击Excute会发送一次请求,然后会再次显示断点页面,这时候右侧会出现Eidit Response点击进行数据修改(注意,Eidit后下方选项修改解析格式json text)(图2)
4、把修改的内容进行excute,这时候查看页面(图3)
四、修改请求及无缓存模式
1、修改请求响应的简单还理解,在左侧页面找到需求修改的请求(图一)
2、菜单栏上回出现一个钢笔,点击要修改url之后就会进入修改模式,可以修改任意的数据,比如我修改的是app的page页(图2)可以看见下方修改的响应对应的是第二个page的数据了
3、如果测试的时候需要模拟多个code请求,我们就会用add或者根据yapi中的接口规则进行对应性的请求修改
五、无缓存模式
无缓存模式对于测app还是比较实用的,尤其的是启动了UC的情况下,缓存恶心死,还有就是省的总是出现:“你清一下缓存试试”启动了这个模式,就会把远端所有的请求都经过charles进行代理
charles的无缓存工具就会过滤掉对应的请求和响应中的缓存,从请求中删除If-Modified-Since和If-None-Match头,添加Pragma:no-cache和Cache-control:no-cache。
从响应中删除Expires,Last-Modified和ETag标头,添加Expires:0和Cache-Control: no-cache。具体就是直接在tools中勾选No Caching 这个翻译就是无缓存,弹窗就是要进行无缓存设置(图1)
1、直接选择Enable No Caching 这时候你访问的任何url都会是无缓存的状态,下面的only不要勾选,这样是所有的缓存都禁用
2.对指定的host进行配置禁用缓存,勾选Enable No Caching再勾选only for selected locations,这时候就可以进行指定host的禁用,或者你指定的主机也可以,add可以进行端口、路径主机host配置
3、一般测试的时候可以开启无缓存,不过经过资料查阅,这样会出现同样的资源,在视图中每调用一次就会出现一次,看着有点微多不过可以凑合用
六、遇到的问题(在遇到继续写)
1、这几天用charles遇到一个自己埋的坑,当时为了测试评论接口,做了一个过滤,结果在家进行操作的时候怎么都抓不到,经过排查,发现过滤网络只抓取下面对应URL,如下图
边栏推荐
猜你喜欢
随机推荐
C语言初阶-指针
360杜跃进ISC演讲:保障信创软件的可信性和安全性是信创安全体系的基础
第十三届蓝桥杯(Web 应用开发)线上模拟赛【第九题】(知乎首页数据动态化)
Kotlin delegate property knowledge points
跨域问题 什么时候出现跨域问题 如何解决跨域问题
使用fontforge修改字体,只保留数字
Solve the problem of slow speed of gradle import package
The WPF main form calls User32's SetWindowPos to set the form to the top, which will cause the problem of grabbing the focus with other forms
亚洲首个!朱永官院士荣获2022年国际土壤科学联合会李比希奖
昇腾Ascend 随记 —— TensorFlow 模型迁移
Superman is coming!Flutter realizes full-screen power animation!
二分查找的坑
学习笔记:2.3 静态链表 循环链表 双向链表
IO in Kotlin flow
OneNote 教程,如何在 OneNote 中检查拼写?
Gartner:2022年全球半导体收入增长预计将放缓至7%,远低于2021年26.3%
PyTorch入门(六):模型的训练套路
关于KotlinAndroid遇到的小知识
实践篇1:深度学习之----LetNet之tensorflow2的实现
Kotlin reflection