- 前言
一、Charles是什么?
二、Charles如何使用
- 1.安装Charles
- 2.Charles安装证书
- 3.Charles的使用
- 总结
前言
在开发和测试工作中,无法看到 Web 浏览器/客户端和服务器之间发送和接收的内容。
如果要准确地确定故障在哪里既困难又费时。
Charles 可以轻松查看正在发生的事情,因此您可以快速诊断和解决问题。
(为移动端的调试和数据抓包提供的便利尤为显著)
一、Charles是什么?
Charles作为一个“中间人”,当浏览器和服务器通信时,Charles接收服务器的证书,动态生成一张证书发送给浏览器,也就是说Charles作为中间代理在浏览器和服务器之间通信,所以通信的数据可以被Charles拦截并解密。
由于Charles改了证书,浏览器校验不通过会给出安全警告,必须安装Charles的证书后才能进行正常访问。
简单来说就是Charles截取客户端到服务端的数据,此时你可以查看或者修改数据。
二、Charles如何使用 1.安装Charles
Charles下载地址:https://www.charlesproxy.com/download/
Windows用户下载后直接运行 setup 应用程序,傻瓜式安装一路点击“next”就行。
Mac OS X 双击解压下载文件,然后将 Charles 应用程序复制到您的 Applications 文件夹中。
Charles是收费软件,可以免费试用30天。
试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。
打开Charles点击Help→Reqistered输入以下内容就会发生很奇怪的事情(头发不掉了)
Registered Name: https://blog.csdn.net/qq_4377721
License Key: 2afab8a8ebe77c4921
2.Charles安装证书
Charles安装完成后,就可以抓取电脑上http的请求。
但抓取https的时候还需要进行一些设置。
windows的设置于mac不太相同,但基本 *** 作都是一样。
这边以windows为例。
1.电脑安装证书
选择:Help—SSL Proxying—Install Charles Root Certificate
最后来到这一步,确定即可。
2.添加要抓取的host以及端口
证书安装完成后,设置SSL Proxying Settings。
选择:Proxy—SSL Proxying Settings。
添加相应的host以及端口,如下图所示。
完成以上设置,重启charles和浏览器就可以使用charles抓取电脑中的https请求了。
3.手机安装证书
选择:Help—SSL Proxying—Install Charles Root Certificate on a Mobile Devices or Remote Browser
第4步在同一网络下配置手机代理(这里需要注意Charles端口号默认为8888)
第5步手机浏览器访问下载安装证书。
1.功能键
清楚按钮:清除所有的会话内容
停止按钮:开启/停止抓包
代理按钮:停止/开启代理
节流按钮:限制请求上传和下载的速度
断点按钮:将指定请求打上断点
撰写按钮:可以新建请求或者修改现有的请求
重复请求:将所有请求重新请求一次
验证按钮:验证返回的Html信息。
2.断点功能
Proxy—Breakpoints Settings(快捷菜单中的断点按钮)
适用场景:需要修改一次网络请求或返回结果。
一般用于临时性的修改。
方法一:勾选Enable Breakpoints按钮,点击Add按钮,添加需要打断点的地址(其他信息会自动识别到)
方法二:选中需要打断点的请求,右击—选择Breakpoints,即可将该请求打上断点。
默认请求和响应都被打上断点了,可以通过方法一的步骤进行修改。
指定请求打上断点后,再次请求,根据设置会拦截相应的请求或者响应,此时修改相应的内容后,点击Execute按钮。
注意:结束后要关闭断点功能,不然会一直拦截你的请求
3.模拟慢速网络
点击Proxy—Throttle Settings,勾选:Enable Throttling按钮就可以打开限速。
在Throttle Preset中可以直接选择已经预设的模式,也可以根据自己需要调整参数。
可以对指定的请求进行单独的限速,勾选:Only for selected hosts—Add—添加指定的请求地址。
适用场景:模拟慢速网络或者高延迟的网络。
以上就是要讲的Charles入门内容,本文仅简单介绍了Charles的使用,而Charles提供的功能远不止这些,更多功能还有待去发现。
。
。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)