如何用charles抓http/https包并mock数据

一、 抓http包

1. 打开charles,设置代理端口号

1.png

2. 手机设置代理

手机必须和电脑处于同一个局域网内。
点击当前所连得WIFI右边的info设置,在设置中最下面的http代理栏,选手动,服务器填电脑的IP地址, 端口填步骤1中charles设置的端口号。填完之后返回即保存。

wifi页

wifi设置页

完成之后,手机即可通过电脑上的charles代理上网。手机联网的话,charles应该会弹出一个确认窗口问是否同意通过charles联网,点同意,即可开始抓包。

友情提示:手机设置了http代理后,如果charles关闭了手机将无法上网,记得把http代理取消。

二、 抓https包

charles新版本已经可以抓https的包了。我的版本是3.11.4。

1. 手机安装证书

先按抓http包的设置,让手机通过charles代理上网。
然后手机上访问地址: http://www.charlesproxy.com/getssl/
这样手机会跳到charles根证书的安装页面。一路点安装

证书安装

 

安装完成之后显示

2. 设置抓包域名

点开charles的 菜单---> Proxy ---> SSL Proxying Setting,在SSL Proxying页勾选上 Enable SSL Proxying。 并在下面设置要抓包的域名。没有设置的域名将不能成功抓包。 当然可以用通配符。

设置抓包域名

3. 成功抓包

成功抓https包



作者:qiushuitian
链接:https://www.jianshu.com/p/655600177673
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

 

 

3.更改返回数据来测试临界情况。

这个是重点了。因为这种做法可以让一个iOS前端的开发人员独立完成测试而不用拉过来一个后端一起联调。并且各种特殊维度,或是临界的账号也不用再去辛苦找了,仅仅自己在青花瓷上改来改去就可以达到效果了。比如这个地方如果返回了nil程序会不会崩,直接改response就行了。下面是具体操作方案。

打开青花瓷切换成结构页面

这里可以看到断点和调试信息

    

然后找一个我们公司的页面。这个页面本来应该返回是这样的:如上图右边

你先正常的打开这个页面把玩几下,这个青花瓷就会抓取很多接口和域名分类了。在这里找到你这个页面所属的域名分类应该不难。然后打上断点。这里要注意是在域名上打断点而不是在下面的单个请求上打断点。

再次用手机进入这个页面,就会通过你刚才打断点的那个域名来请求数据,就会被断点拦住,如下图所示。

右边的信息也很清晰,一开始可以编辑请求。如果点击单步执行,等一下相应回来了也可以编辑响应。

这里的有好几种查看的方式,但是推荐使用JSON Text看的比较清楚。 现在我们对拦截回来的数据进行修改,我把这些统计数据全改成999如下图

然后再次点击下方的Execute单步执行,更改后的数据就会像正常返回回来的数据那样显示到,APP的页面上展示。

 

这么做的意义:

这里只是简单的更改了一些数字,在页面显示更加直观。实际的操作中,你可以经常用来把某些值改为临界情况以看到App在处理这些临界状况时的反应,这样比找那些临界数据的测试账号成本要低得多。也可以把一些可能不会反回数值的字段找到,直接将里面的值删成nil,看看会不会报异常等等。

 

转自:https://www.cnblogs.com/SnowStark/p/5610821.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值