如果还不能成功,那就重启浏览器,重启电脑了。
在点Actions时候出现Export Failed:The root certificate could not be located.最近有很多小伙伴在fiddler导出证书的时候,遇到无法导出的问题,收集了几种解决办法,供参考。
fiddler在抓手机app的请求时候,通常也会抓到来自PC的请求,导致会话消息太多,那么如何把来自pc的请求过滤掉,只抓来自APP的请求呢?必备环境:1.电脑上已装fiddler2.手机和电脑在同一局域网
查看电脑IP1.打开cmd,输入:ipconfig,记住这个IPv4地址。
1.手机设置->WLAN设置->选择该wifi,点右边的箭头(有的手机是长按弹出选项框)。
1.手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了。2.打开fiddler>Tools>Fiddler Options>HTTPS>…from remote clients only,勾选这个选项就可以了
前面两篇关于Fiddler抓包的一些基本配置,配置完之后就可以抓到我们想要的数据了,接下来就是如何去分析这些数据。本篇以博客园的请求为例,简单分析get与post数据有何不一样,以后也能分辨出哪些是get,哪些是post了。
本篇简单的介绍下fiddler界面的几块区域,以及各自区域到底是干什么用的,以便于更好的掌握这个工具
Fiddler最大的优势在于抓包,我们大部分使用的功能也在抓包的功能上,fiddler做接口测试也是非常方便的。对应没有接口测试文档的时候,可以直接抓完包后,copy请求参数,修改下就可以了。
点开右侧Composer区域,可以看到如下界面,就是测试接口的界面了
上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行。有些get请求会带有参数,本篇详细介绍url地址格式。
前言上一篇讲过get请求的参数都在url里,post的请求相对于get请求多了个body部分,本篇就详细讲解下body部分参数的几种形式。注意:post请求的参数可以放在url,也可以放在body,也可以同时放在url和body,当然post请求也可以不带参数。只是一般来说,post请求的参数习惯放到body部分
常见的post提交数据类型有四种:1.第一种:application/json:这是最常见的json格式,也是非常友好的深受小伙伴喜欢的一种,如下
2.第二种:application/x-www-form-urlencoded:浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数
3.第三种:multipart/form-data:这一种是表单格式的,数据类型如下:
4.第四种:text/xml:这种直接传的xml格式
3.上面红色框框的Query String是url里面的参数,下面红色框框的body部分就是这次post提交的body参数部分了。
2.看上图红色框框的显示:这里只支持application/x-www-form-urlencoded这种格式的body参数,也就是说json格式的,需要在JOSN这一栏查看了。
先给大家讲一则小故事,在我们很小的时候是没有手机的,那时候跟女神聊天都靠小纸条。某屌丝A男对隔壁小王的隔壁女神C倾慕已久,于是天天小纸条骚扰,无奈中间隔着一个小王,这样小王就负责传小纸条了。有一天小王忍不住偷偷打开A男表白的纸条,把里面内容改了下,改成了:我的同桌小王喜欢你。最后女神C和小王走在了一起。。。这是一个悲伤的故事!
5.修改之后点Run to Completion就能提交了,于是就成功修改了请求参数了6.打全局断点的话,是无法正常上网的,需要清除断点:rules-> automatic breakpoint ->disabled
已经知道了某个接口的请求地址,这时候只需要针对这一条请求打断点调试,在命令行中输入指令就可以了
请求前断点(before response): bpu
响应后断点(after requests): bpafter
取消断点,在命令行输入: bpafter 回车就可以了
Bpafter, Bps, bpv, bpm, bpu这几个命令主要用于批量设置断点Bpafter xxx: 中断 URL 包含指定字符的全部 session 响应Bps xxx: 中断 HTTP 响应状态为指定字符的全部 session 响应Bpv xxx: 中断指定请求方式的全部 session 响应Bpm xxx: 中断指定请求方式的全部 session 响应 、、同于 bpv xxxBpu xxx:与bpafter类似当这些命令没有加参数时,会清空所有设置了断点的HTTP请求。更多的其他命令可以参考Fiddler官网手册(赠言:打断点仅供测试需要,勿走歪门邪道!!!)
为什么要保存会话呢?举个很简单的场景,你在上海测试某个功能接口的时候,发现了一个BUG,而开发这个接口的开发人员是北京的一家合作公司。你这时候给对方开发提bug,如何显得专业一点,能让对方心服口服的接受这个BUG呢?如果只是截图的话,不是很方便,因为要截好几个地方还描述不清楚,不如简单粗暴一点把整个会话保存起来,发给对方。
一、保存为文本
在使用fiddler抓包的时候,查看请求类型get和post每次只有点开该请求,在Inspectors才能查看get和post请求,不太方便。于是可以在会话框直接添加请求方式。
1.选择需要隐藏的菜单,右键。选择Hide this column
2.点完后上面有个上箭头(正序),或者下箭头(倒叙)。但是不能取消,取消的话关掉fiddler后重新打开就行了。
以下是请求报文
以下是请求报文
以下是响应正文(json格式)
注意:1)方法名称是区分大小写的。2)最常见的的就是通常说的get和post方法。
1.打开百度,在搜索框输入任意文字,搜索后,复制地址栏的url地址:
2.那么一个完整的url地址,基本格式如下:
根据HTTP标准,HTTP请求可以使用多种请求方法。HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。