MAC下代理工具Charles使用
一.跟踪HTTPS
1.下载官方的证书ssl.zip证书,解压成*.crt
2.可以通过邮箱或者发布到自己的服务器的方式,然后用手机去下载安装crt文件。
3.charles设置Proxy-->SSL,勾选Enable SSL Proxying,下面点击"Add",将你需要验证的域名+端口号添加进去并且勾选。比如:*.my.com, mobileapi.myserver.com
4.手机设置对应代理的IP,这个时候就可以看见Charles中https请求的内容了
PS: 步骤3中如果你勾选了,但是你的设备没有装证书,如果走代理则会请求失败。不勾选,可以请求成功,但是无法看见内容。
碰到mthd="Connect",request里看见“SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations”的错误,则表示第3步没有将域名设置好。
二.强大的mapping功能
简单来说,可以远程的某个文件代理到本地文件,从而进行调试。
1.打开我csdn的blog首页,然后可以在charles看到所加载的页面和相关资源,找一个js文件做代理,如图:
2,创建一个本地文件1.txt,我将realtime.js的 response拷贝下来,并且在开头添加自己的js语句 “alert(123)”
3.选择"Map Local..",设置如图:注意的是在paramter里我设置的是"*",因为很多情况下接口可能会加随机串,当然URL也可以使用通配符来匹配
4.点击OK,重新刷新页面。页面弹出alert,内容为:"123"。并且在"Notes"的Tab里会告诉你“Mapped to local file: /Users/apple/Desktop/1.txt”,表示成功
5.如果要删除已经设置的map地址,可以在Tools-->Map Local... 里管理,添加或者删除,非常方便。
三.网速模拟
Proxy-->Throttling Setting,可以模拟各种情况下的网络速度,从而可以在低速情况查看APP的使用情况
部分设置含义,Bandwidth(带宽)、Utilistation(利用百分比)、Round-trip(往返延迟)、MTU(字节)
四.断点功能
APP某个界面需要调用接口,并且返回数据来绘制界面。我们可以通过使用断点功能来篡改请求的数据或者返回的数据,达到模拟的效果。让我们来看看怎么做
1.类似于mapping,我们可以针对接口右键选择"BreakPoints",这样这个接口就被加入到断点状态了
2.需要进一步修改断点的属性,可以在菜单栏"Proxy"-->"BreakPoints"里进行添加删除或者修改,配置方式和mapping雷同,也可以使用通配符来操作,并且可以选择这个断点是在request还是response,还是两者都要
3.这个时候再刷新界面,会直接跳转到断点模版,这个时候你可以在对应状态情况下修改request或者response,然后点击下方按钮“Execute”。
五.重复发送
这个和前端似乎关系不大,可以对接口测试健壮性,也是右键点击某个请求,然后"repeat" 或者"repeat Advance",后者可以设置循环调用次数和间隔
六.支持中文显示(Charles乱码问题)
打开Charles.app,找到Info.plist,然后添加参数-Dfile.encoding=UTF-8
参考
http://www.36ria.com/6278
相关文章
- 正向代理与反向代理的区别【Nginx读书笔记】
- 【Vue 快速入门系列】解读MVVM模型、数据代理
- Mybaits 源码解析 (十一)----- @MapperScan将Mapper接口生成代理注入到Spring-静态代理和动态代理结合使用
- Spring Aop(十四)——Aop自动创建代理对象的原理
- [转载]Java中继承、装饰者模式和代理模式的区别
- nginx gzip 以及 tcp 反向代理的 model
- https方式nginx 代理tomcat访问不带www的域名301重定向跳转到www的域名帮助seo集中权重
- [架构]辨析: 高可用 | 集群 | 主从 | 负载均衡 | 反向代理 | 中间件 | 微服务 | 容器 | 云原生 | DevOps | ...
- nginx正向代理,支持https模块:ngx_http_proxy_connect_module
- 使用nginx做反向代理
- PyQt学习随笔:Model/View架构中的Delegate(委托、代理)
- 为“多变”的Docker容器构建自动化的Nginx反向代理
- APP渗透—绕过反代理、反证书检测
- 配置透明代理squid支持https与http
- Nginx入门篇(六)之反向代理和负载均衡