下载图片报502 可以用fiddler模拟post请求吗?

fiddler 设置断点 - 简书
fiddler 设置断点
1、 断点修改Request1.1、Request全部中断设置中断:Rules---& Automatic Breakpoints---&Before Requests取消中断:Rules---& Automatic Breakpoints---&Disabled
点击下发红色箭头的位置进行中断切换;
例1:打开&设置请求断点---&清空fillder抓包数据---&不输入任何关键字,点击页面中“百度一下”---&在fiddler中设置“value=巧吧软件测试”---&点击“Run to Completion” ---&点击“Go” ---&结果:“value=巧吧软件测试”;
Inspectors界面:Break on Response:发送请求,在响应数据回到Fiddler时再次中断;Run to Completion:单条运行修改后的请求;
1.2、Request特定网站中断特定网站中断设置:快速命令行输入“bpu www.baidu.com+Enter”,只会中断www.baidu.com;特定网站中断取消:快速命令行输入“bpu+Enter”;
2、断点修改Response2.1、Response全部中断设置中断:Rules---& Automatic Breakpoints---&After Response取消中断:Rules---& Automatic Breakpoints---&Disabled
点击下发红色箭头的位置进行中断切换;
例1_脚本替换:打开&设置请求断点---&清空fillder抓包数据---&刷新页面---&在Response中修改内容---&点击“Run to Completion” ---&点击“Go” ---&结果:修改后的内容;
例2_状态码替换:打开&设置请求断点---&清空fillder抓包数据---&刷新页面---&在Response中选择状态码---&选择502_Unreachable.dat ---&点击“Run to Completion”---&点击“Go” ---&结果:状态码502内容;
2.2、Response特定网站中断特定网站中断设置:快速命令行输入“bpafter www.baidu.com+Enter”,只会中断www.baidu.com;特定网站中断取消:快速命令行输入“bpafter+Enter”;2.3、Response查找或替换
3、其他断点相关命令行bps:特定http状态码时中断,比如:bps 200;bpv/bpm:在特定请求method时中断,比如bpv GET或bpm POST;g:等于Go
一、使用Fiddler进行HTTP断点调试 断点调试是Fiddler又一强大和实用的工具之一。通过设置断点,Fiddler可以做到: 1.修改HTTP请求头信息。例如修改请求头的UA,Cookie,Referer信息,通过“伪造”相应信息达到达到相应的目的(调试,模拟用户真...
前言fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。一、网页不安全1.用fiddler抓包时候,打开百度网页:https://www.baidu.com2.提示:网页不安全 二、fidd...
Fiddler作为抓工具包,功能强大,作为代理服务器,可以对抓获到的请求或响应进行修改,然后模拟客户端发送新的请求或模拟服务器返回修改后的响应结果。 Fiddler中设置断点修改Request Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRe...
Fiddler中设置断点修改Request Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法 第一种:打开Fiddler 点击Rules-& Automat...
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...
中国的神秘怪诞之美-山海经 想读《山海经》这件事已经“”蓄谋已久“,因为书单排得太多,很想一本一本认真读完,再买新书;加之《山海经》的版本众多,一直犹豫到底读哪个版本更适合自己。一来二去的,就迟迟没有读起来。终于在这个天气转凉的9月,买了徐客所著的这本作品。其中引用了众多版...
你还在为因为工作忙顾不上做饭吗?你还在为孩子挑食发愁吗?现在,这都不是事,因为自贡谭八爷自煮火锅~冷吃系列在这里为您服务啦啦啦! 1. 点菜看下面 欲了解详情,请长按以下二维码,更多优惠等你拿!
好奇心 小婧对很多事情都充满好奇。比如听到一个新的名词,见到一个从没见过的东西。 所以,我特喜欢逛一些文具店和其他一些特色小店。每每看到自己没见过的东西总要研究一下。像我这样在一家文具店能逛一下午的,算奇葩吗? 追根究底 有着好奇心的同时,我还特喜欢研究。 有一次在大街上看...
打开优酷,找到朋友很久之前推荐过的《搜索》,找个最惬意的角落,看一部看起来应该还不错的电影。 片尾听到李健的歌声,有些诧异,眼角的泪痕又一次更深了。 一个很小的意外,在媒体的曝光下变成了一个人此生不灭的污点,也成了一些人追名逐利的垫脚石,哪管背后的故事,这是个大家都相信眼见...
test jianshu. full support for github.【精品投稿】Fiddler实践心得
一、打断点和AutoResponder返回404/502等状态码的不同
之前一直以为这两种方式没有区别,都是阻断了请求,改变了返回结果。但是今天在测一个问题时,恍然间明白了两者的不同。
1、打断点,是阻塞了请求,一直没有结果返回,请求将在线程中一直存在,直到超时被踢出来。
2、AutoResponder返回404/502,这种情况是有结果返回的,代表请求也结束了,不会在线程中一直存在。
线程,细心的朋友可能发现了,线程,是的,在遇到线程相关的问题时,两者就明显的不同了。
其实在发现两者在线程上的不同之后,再仔细思考这个问题,两者本质上是服务器是否响应的问题,是否有状态码的问题。打断点阻塞,没有状态码,服务器是没有响应。404/502是服务器有响应的。体现中线程中的不同,只是一个症状体现而已。
二、修改Response数据时要注意超时的问题
通过设置Rules -& Automatic Breakpoints -&After Response,之后再修改响应回来的数据,来实现修改response的内容。但是这样修改数据很容易造成另外一个问题,那就是请求超时导致客户端不对请求做处理。
怎么理解呢? 就是客户端发送一个请求出去,如果在指定的时间内请求没有返回,则认为该请求超时了,就算以后这个请求返回数据,则客户端也不再对请求做出响应。
如果,修改内容的操作能够很快的进行,放行断点,在超时时间之内完成,那么修改之后的内容将会被客户端处理。
如果,修改内容的操作大于超时时间,就算之后将断点放行,请求返回200,这个时候客户端是不做任何处理的,也可以理解为修改的内容没有产生效果。
综合上述,一定要注意修改内容的操作时间和超时时间的关系。
其实在修改数据的时候,不太容易去把控时间的长短,也很容易造成修改数据失误,那么怎么样才能很好的解决这个问题呢?
可以用AutoResponder自动响应数据,用本地文件替换服务器的返回数据。这样就不用在打断点之后急忙的修改数据,也不怕一不小心把数据修改错了。AutoResponder功能替换是一瞬间的事儿,也不用担心超时的问题,真的是一举两得啊。
三、重新认识Decode
在之前的认识中,知道有这样的Decode在工具栏中,也知道是解密的,但是在实践中并没有涉及到这块,今天就被我碰到了,而且自己也跳到坑里了,还好还好最后终于明白了。
Decode在平时默认是被选中的,我不知道什么时候就给取消了。
今天的情况是这个样子的:
客户端请求一个接口的数据是加密的,通过save -& response -& response body ,将返回结果保存下来,之后用这个本地文件替换服务器返回的数据。结果客户端接到数据之后,在后台报了一个错误,提示数据格式不对。
正常的业务流程是客户端在接到数据之后,需要对数据进行解密。现在是在对数据解密的时候发现数据格式不对。
保存下来的response body,如下所示:
服务端一阵排查问题,客户端一阵排查问题,没毛病啊!!!最后问我,你的本地文件内容是什么?我把内容贴出去之后,大家都是很疑问 6 、0 是怎么回事?
服务端说不是我们返回的,客户端说不是我们添加的。
OH MY GOD ! 我也急了,怎么可能是我这里的问题,平时都是这样用本地文件替换服务器文件的,没毛病啊!
后来仔细瞅了瞅,发现了 Response body is encoded ,Click to decode . 点了一下,哦~~~顿时豁然开朗。
第一行和最后一行是数字,其实是对数据failed加的密,虽然看起来是明文,6是数据failed的长度。
应该也看到Response body is encoded. Click to decode. understand ? 点击一下就可以解密了。
解密之后的数据,如下所示:
这个时候再save -& response -& response body ,将返回结果保存下来,AutoResponder替换服务器文件,客户端就可以正常的解密运行了。
问题虽然是解决了,但是得找到真正的原因啊?
提到解密,当然是第一时间想到了Decode,一看,居然没有被选中,突然间就明白了Decode的作用,如果返回的数据时加密的,就自动解密。
为了验证,选中Decode,又重新请求了一次,结果你猜怎么着,还真的是这个道理。
细节决定成败啊,任何一个小功能都不能被忽视啊!盆友们啊,都要慎重啊,慎重!
四、bpu 阻塞多个请求
今天同事问我,bpu怎么同时阻塞多个请求呢?
我是这样写的 bpu a b ,我这样写怎么实现不了同时阻塞a 和 b 请求呢?
我没有这样阻塞过,但是在我的理解里应该这样写,bpu a enter执行,bpu b enter执行,分开执行(因为我之前没有这样阻塞过,只是按照自己的理解这样认为的,接下来就打脸了,不都是你以为的就是你以为的啊,泪奔啊)。
我按照你说的方式做了,但是还是不可以啊。
额~,好尴尬啊
我只有默默的打开Fiddler,ctr+R打开脚本,ctr+F 输入关键字 bpu,找到bpu命令所在的核心代码
case "bpu":
var len = sParams.L
if(sParams.Length&2){
bpRequestURI= FiddlerObject.StatusText="bpRequestURI breakpoint cleared";
var len = sParams.L
bpRequestURI= sParams[1];
FiddlerObject.StatusText="RequestURI breakpoint for "+sParams[1];
核心: bpRequestURI= sParams[1]; 只取了一个参数值。
场景1解析(也就是同事的执行方法): bpu /sdk /zwf ,
使用空格隔开的,那么
sParams[0] = “bpu”
sParams[1] = “/sdk”
sParams[2] = “/zwf”
只取了sParams[1] = “/sdk”,所以只会阻塞包含/sdk的请求
场景2解析(也就是我认为的方法,允许我哭一会):
每次执行bpRequestURI,都会被赋新值,所以我阻塞包含/zwf 的请求
我们怎么样才可以实现,阻塞多个请求呢?
让我沿着核心代码,顺藤抹瓜,ctr+F 输入关键字 bpRequestURI 查询,找到参数定义的地方
这个是定义变量的地方,是全局变量
//在main()方法中
// These static variables are used for simple breakpointing & other QuickExec rules
BindPref( "fiddler.ephemeral.bpRequestURI")
publicstaticvarbpRequestURI: String= null;
找到使用此参数,bpRequestURI 不为 null,并且 请求的uri 包含bpRequestURI ,则阻断该请求
if(( null!=bpRequestURI) && oSession.uriContains(bpRequestURI)) {
oSession[ "x-breakrequest"]= "uri";
这样捋下来,就搞明白了,阻塞请求是怎么个原理了,是不是也很简单呢?!
接下来就是改造它来实现bpu 阻塞多个请求了。
//在main()添加如下代码
BindPref(“fiddler.ephemeral.bpRequestURI”)
//数组的长度10,10个阻塞的命令,内容为空格,和bpu命令用空格分割保持一致
public static var bpRequestURIs:String[] = [” “,” “,” “,” “,” “,” “,” “,” “,” “,” “] ;
varlen1 = sParams.L
varlen2 = bpRequestURIs.L
//每次赋值之前先恢复原始值
for( vari = 0; i& len2; i++){
bpRequestURIs[i]= " ";
if(len1 & 2) {bpRequestURI= null; FiddlerObject.StatusText= "RequestURI breakpoint cleared"; returnfalse;}
vartext = "";
for( vari = 1; i & len1; i++){
bpRequestURIs[i -1] = sParams[i];
text += sParams[i] + " ";
FiddlerObject.StatusText= "RequestURI breakpoint for "+
returntrue;
// 在OnBeforeRequest() 方法中
// 注释掉之前的方法
// if ((null!=bpRequestURI) && oSession.uriContains(bpRequestURI)) {
// oSession["x-breakrequest"]="uri";
varlen= bpRequestURIs.L
for( vari = 0; i& len; i++){
if(bpRequestURIs[i]!=null && bpRequestURIs[i]!= " "&& oSession.uriContains(bpRequestURIs[i]) ){
oSession[ "x-breakrequest"]= "uri";
完成,这样就完成了bpu同时阻塞多个请求了!
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点zhuqilin &&
我沉静我思考 我的新浪围脖 http://t.sina.com.cn/happy2016 欢迎加入
&& 与httpwath相比,fiddler能模拟http请求、能断点调试、http分析统计吸引了我,使用之后感觉这个工具非常不错,这篇文章只单介绍一下fiddler工作原理,简单介绍一下它的重要功能,以及如何使用使用fiddler模拟http请求,满足移动服务端开发人员调试的问题。对于其他的功能大家可以自己研究一下。
fiddler工作原理:
&&& 当你启动了Fiddler,程序将会把自己作为一个微软互联网服务的系统代理。作为系统代理,所有的来自微软互联网服务(WinInet)的http请求再到达目标Web服务器的之前都会经过Fiddle,同样的,所有的Http响应都会在返回客户端之前流经Fiddler。如下图:
fiddler重要功能:
1、HTTP统计视图:用来分析http请求,如下图的83个http请求:
2、用Fiddler来调试:当你在软件的菜单rules&automatic breakpoints选项选择beforerequest,或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler就能够暂停Http通讯,允许修改请求和响应。这个个vs的断点调试一样,相当实用。
比如说:我请求login。在提交到服务器之前,可以暂停请求,强制修改httphead,如下图:
然后点击运行到完成:
3、Fiddler 扩展:fiddler是用.net开发的,可以使用脚本和.net语言扩展fiddler。
使用Request Builder模拟http请求
对于移动服务端开发人员来说,使用这个工具模拟移动客户端请求是非常方便的。
下拉框中选择GET,输入请求的地址,输入Request Headers。Request Headers是键值对的格式,用:隔开。点击执行。
在中可以看到相应的结果:
Post请求:对于post请求,需要输入Reuqest Body。而Request Body 默认情况是隐藏起来的。按下面步骤点击显示出Reuqest Body。
1、点击Options。
2、点击Tear off,如下图。
点击执行,就可以模拟post请求了。
总结:本文简单介绍了一下fiddler的原理,重要的功能,以及移动服务端开发人员如何模拟http请求,方便自己调试代码。
本文参考:
(全文完)
以下为广告部分
您部署的HTTPS网站安全吗?
如果您想看下您的网站HTTPS部署的是否安全,花1分钟时间来
检测以下吧。让您的HTTPS网站变得更安全!
快速了解HTTPS网站安全情况。
安全评级(A+、A、A-...)、行业合规检测、证书信息查看、证书链信息以及补完、服务器套件信息、证书兼容性检测等。
安装部署SSL证书变得更方便。
SSL证书内容查看、SSL证书格式转换、CSR在线生成、SSL私钥加解密、CAA检测等。
让服务器远离SSL证书漏洞侵扰
TLS ROBOT漏洞检测、心血漏洞检测、FREAK Attack漏洞检测、SSL Poodle漏洞检测、CCS注入漏洞检测。
阅读(...) 评论()fiddler怎么用_百度知道
fiddler怎么用
我有更好的答案
baidu://a://a; 用来选择png后缀的图片bpu& 截获requestInspectors tab下有很多查看Request或者Response的消息。 其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下图<img class="ikqb_img" src="http。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化QuickExec命令行的使用Fiddler的左下角有一个命令行工具叫做QuickExec.jpg" esrc="http.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=7e209d93bf99adadbb6fdac13://b.baidu.baidu://f.hiphotos.baidu.com/zhidao/pic/item/94cad1c8a786cbece3d70cf3ac75799.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink">Fiddler的HTTP统计视图通过陈列出所有的HTTP通信量&nbsp
采纳率:97%
来自团队:
为您推荐:
其他类似问题
您可能关注的内容
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 fiddler 模拟请求 的文章

 

随机推荐