zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Oracle-DQL 7- 集合操作
    Oracle-DQL 6- 子查询
    Oracle-DQL 5- 分组函数(多行函数)
    Oracle-DQL 4- 多表查询
    Oracle-DQL 3- 单行函数
    构建gulp项目
    重开Vue2.0
    ES6
    emmet简单记录
    webpack 3.X研究
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/4325601.html
Copyright © 2011-2022 走看看