如何进行批量请求接口,保存返回数据的图片

fiddler和postman一起使用可以实现,发送批量的参数不同请求,生成图片,进行使用。
*工具:Fiddler、Postman
1.首先使用postman请求接口,选择请求方式和请求中的数据(模拟一次正常的请求)
在这里插入图片描述
2.修改参数将Json报文中变化的数据替换(将需要变化的数据,使用{{}}来表示,名称必须和CSV文件定义列名的一致)
在这里插入图片描述
3.这个要设置: tests[“Status code is 200”] = responseCode.code === 200;会统计请求的结果数;不添加,不与统计。
在这里插入图片描述
4.新建—collection
在这里插入图片描述
5.设置配置文件
在这里插入图片描述
6.查看结果
在这里插入图片描述
7.配置fiddler进行拦截下载图片
a、打开Fiddler ,找到 规则(Rules)-> 自定义规则(Customize Rules) 打开 规则代码。
b、定位并找到 static function OnDone(oSession: Session) 处。(该部分代码默认情况下是注释状态,)
移除注释,在其中编写代码如下:

//设置全局变量,文件名加1
static var count:int =1;
static function OnDone(oSession: Session) {
    //检查Content-Type 
    if (oSession.ResponseHeaders["Content-Type"]!=null || oSession.ResponseHeaders["content-type"]!=null)
    {
        //避免不规范标头
        var contentType=oSession.ResponseHeaders["Content-Type"];
        if (String.IsNullOrEmpty(contentType) )
            contentType=oSession.ResponseHeaders["content-type"];
        
        //判定请求是否图片
        if (contentType.Contains("image"))
        {
            //确定文件名(保存用)
            var fileName="";
            var fileIndex =    oSession.RequestHeaders.RequestPath.LastIndexOf ("/");
            if (fileIndex>0)
                fileName =    oSession.RequestHeaders.RequestPath.Substring (fileIndex+1);
            
            //如果文件名非法(名称含非法字符)
            if(fileName.IndexOf('?')>0 || fileName.IndexOf('&') )
                fileName=String.Empty;
            //输出日志(在Fiddler 主窗口,日志处输出)
            //FiddlerObject.log("Content-Type:"+ contentType +" RequestPath:"+oSession.RequestHeaders.RequestPath);
            
            //如果文件名为Null,自行创建一个文件名(Guid)
            if (String.IsNullOrEmpty( fileName))
            {
                   //fileName=Guid.NewGuid().ToString();
				    fileName="NVS"+ count;//文件名+1
					var extName=    contentType.Replace("image/","");
					fileName=fileName+"."+extName;
			     	count++;
            }
            
            //太小的图片不要,比如站位图片(自行调节)
            if (oSession.ResponseBody.Length>100)
            {
                //指定保存位置
                var saveDir="d:\\Temp\\";
                //不存在则创建文件夹
                if (!System.IO.Directory.Exists(saveDir))
                    System.IO.Directory.CreateDirectory(saveDir);
                
                //保存响应流
                oSession.SaveResponseBody(saveDir+fileName);
                //写日志
                FiddlerObject.log("[文件保存]:"+fileName)
            }
        }
    }
}

保存后重启

8.使用Postman发送请求,查看fiddler的请求,查看文件夹是否保存成功

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值