Charles抓web http、https请求,抓Android http、https请求
为什么要抓包?
抓包:能帮助我们定位问题,是后端接口出现的问题,还是前段有问题
Windows下http请求
怎么拦截请求?
选中要拦截的请求,鼠标右键,点击breakpoints,设置断点,即可拦截请求
下次再请求这个http路径时,就自动跳出下面内容
怎么修改请求
修改request请求
在上面的弹出框出现之后,点击Edit Request,可以修改里面的内容,如请求方式,请求地址,修改完成后,点击 最下边的Execute
修改response请求
在上方跳出request请求之后,点击Execute后,就会跳出response请求,如下图,点击Edit Response,下的html,里面会出现HTML内容,可以随意改动里面的内容,点击Execute
页面返回数据如下图
charles抓取windows https请求
step1、需要在电脑上安装证书
step2、保存证书到桌面,以备后续在浏览器中安装证书,一定要是.cer格式的
step3、在chrome浏览器中安装证书
打开chrome浏览器,选择设置---->高级--->管理证书--->
以上:证书导入成功,在charles里面验证一下即可,现在就可以抓到https请求了,如下图
注意:有些加密的https请求,还是请求不到的,怎么请求到后续再请教别人吧,如下图
注意:在安装证书的过程中我遇到了一个坑,那就是先在IE浏览器里安装了证书,但是去chrome里面发请求,发现还是抓不到https请求,我因为我按错了呢,后来经过我多次安装,发现了一个大问题,那就是,你在哪个浏览器安装的证书,那就用哪个浏览器去发请求,否则就是抓不到https请求的。例如:经常用chrome,那就在chrome上安装证书,不在chrome上安装,反而在别的浏览器安装,那么用chrome请求是抓不到https请求的。
抓取Android手机上的http请求
前提:包保证电脑与手机是在一个局域网内,我的理解就是连的是同一个无线网,比如都连的家里的网,或者都连得公司的网
step1、配置charles
step2、获取电脑端的IP,记住IP
首先获取到电脑的IP,控制台输入IPconfig
step3、设置Android手机的代理设置
找到和电脑同一局域网的无线,操作如下图
设置代理服务器主机名,即刚才获取到的IP;代理服务器端口即第一步在charles里面设置的端口好
以上,设置完毕,即可在charles里面抓到Android手机里面的http请求,如下图
charles抓取Android手机的https请求
和web端的一样,也需要安装证书,由于本人是锤子手机,一直安装不了证书,所以还是参考下面的连接吧
https://blog.csdn.net/m840449234/article/details/54016607
怎么模拟弱网测试
打开charlse---Proxy---Throllte Settings
勾选上Enable Throttling,可以选择一些操作对应的网速
如果只想对某地址的请求进行弱网测试,☑️[Only for selected hosts]
进行这项设置后,我们会看到小红旗处于工作状态。
然后,打开Sequence查看每个请求的执行情况,比如:
怎么做url映射
Map remote
map remote 就是把一个地址的请求转发到另一个地址上
添加 map remote
设置 map remote
验证:此时访问nnzhp.cn,访问的就不是之前的内容了,实际是cc-na.cn里面的内容了,但是地址是不变的,只是内容变了,证明url映射起作用了
Map Local
返回指定的文件内容
配置要访问的地址与返回的文件
返回内容