精华内容
下载资源
问答
  • 打开fiddler 按 crtl+r 打开 fidder script 搜索OnBeforeResponse 方法,再方法后面添加如下代码: if (oSession.fullUrl.Contains("/rest/n/")){ //把内容通过ajax http发送其它地方 var _xhr = new ...

    打开fiddler 按 crtl+r 打开 fidder script

    搜索 OnBeforeResponse 方法,再方法后面添加如下代码:

    if (oSession.fullUrl.Contains("/rest/n/")){
        //把内容通过ajax http发送其它地方
    	var _xhr = new ActiveXObject('Microsoft.XMLHTTP');
    	var url = 'http://127.0.0.1:8000/';
    	//发送的数据参数
    	var param = {
    	    result: oSession.GetResponseBodyAsString(),
    	    url: oSession.url,
    		headers: oSession.oRequest.headers,
    		form: oSession.GetRequestBodyAsString()
    	};
    	var par = '';
    	for (var i in param) {
    		var _data = escape(param[i]);
    		par += par ? ("&" + i + "=" + _data) : (i + "=" + _data);
    	}
    	//不需要返回值所以写啦个空回调
    	_xhr.onreadystatechange = function() {}
    	_xhr.open('POST', url, true);
    	_xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    	_xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
    	_xhr.send(par);
    }

    效果如下:

    最后自己再编写一个http接口,接收fiddler post过的的数据即可,我是使用python tornado 编写的一个简易例子

    import tornado
    from tornado.web import RequestHandler, url
    
    
    class IndexHandler(RequestHandler):
    
        async def get(self, *args, **kwargs):
            pass
            self.write({"code": 200})
    
        async def post(self, *args, **kwargs):
            print(self.get_argument('result'))
            print(self.get_argument('url'))
            print(self.get_argument('headers'))
            print(self.get_argument('form'))
    
            self.write({"code": 200})
    
    
    urls = [
        url('/', IndexHandler)
    ]
    
    
    if __name__ == "__main__":
        app = tornado.web.Application(
            urls, debug=True
        )
        http_server = tornado.httpserver.HTTPServer(app)
        http_server.bind(8000)  # 引用变量值
        http_server.start(1)  # 多进程启动
        tornado.ioloop.IOLoop.current().start()

    完整下过如下,使用手机airtest刷动手机,fiddler拦截相应请求发送数据到服务器,服务器进行解析即可。

    展开全文
  • 1、打开fiddler 按Ctrl+r 打开 fiddler script(或者通过菜单Rules 打开Customize Rules)2、搜索OnBeforeResponse方法,再方法后面添加如下代码if (oSession.fullUrl.Contains("https://www.baidu.com")){var xhr = ...

    1、打开fiddler 按Ctrl+r 打开 fiddler script(或者通过菜单Rules 打开Customize Rules)

    2、搜索OnBeforeResponse方法,再方法后面添加如下代码

    if (oSession.fullUrl.Contains("https://www.baidu.com")){var xhr = new ActiveXObject('Microsoft.XMLHTTP');

    var url = 'http://yousite/notify_url';

    //var data = '{"response":"'+ oSession.GetResponseBodyAsString() +'","url":"'+ oSession.url +'","headers":"'+ oSession.oRequest.headers +'","raw":"'+ oSession.GetRequestBodyAsString() +'"}';

    //xhr.onreadystatechange = function() {}

    //xhr.open('POST', url, true);

    //xhr.setRequestHeader("Content-Type", "application/json");

    //xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");

    //xhr.send(data);

    var param = {

    result: oSession.GetResponseBodyAsString(),

    url: oSession.url,

    headers: oSession.oRequest.headers,

    form: oSession.GetRequestBodyAsString()

    };

    var par = '';

    for (var i in param) {

    var _data = escape(param[i]);

    par += par ? ("&" + i + "=" + _data) : (i + "=" + _data);

    }

    xhr.onreadystatechange = function() {}

    xhr.open('POST', url, true);

    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");

    xhr.send(par);

    }

    3、最后自己再编写一个HTTP接口,接受fiddler post过来的数据即可,你自己写,不行@我

    End 同志 开始动手尝试吧!

    展开全文
  • 由于有时候需要造数据数据很多,复现不易,第二天可能还会再用,因此需要保存完整请求。 1.导出完整请求: 2.导入完整请求: 这样就可以了,不然辛辛苦苦造的数据,重现不易,保存第二天可以继续操作。 3....
    由于有时候需要造数据,数据很多,复现不易,第二天可能还会再用,因此需要保存完整请求。

    1.导出完整请求:

    在这里插入图片描述
    在这里插入图片描述

    2.导入完整请求:

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    这样就可以了,不然辛辛苦苦造的数据,重现不易,保存第二天可以继续操作。

    3.编辑fiddler请求:

    另外,如果cookie过期,可以动态编辑session,选中需要修改的session,按下F2就可以编辑参数了,非常方便。

    在这里插入图片描述

    展开全文
  • 1.fiddler打开 FiddlerScript 2.添加OnBeforeRequest代码 ---fso.OpenTextFile("E:\\Git_wbiao\\Request.txt",8 ,true, true);【地址上文件,必须在本地已经创建好】 3.添加OnBeforeResponse代码 ---fso....

    1.fiddler打开 FiddlerScript

    2.添加OnBeforeRequest代码

    ---fso.OpenTextFile("E:\\Git_wbiao\\Request.txt",8 ,true, true);【地址上文件,必须在本地已经创建好】

     

    3.添加OnBeforeResponse代码

    ---fso.OpenTextFile("E:\\Git_wbiao\\Response.txt",8 ,true, true);【地址上文件,必须在本地已经创建好】

     

    备注:

    oSession方法及属性

     

    这里我需要补充一下OpenTextFile方法:
    object.OpenTextFile(filename[, iomode[, create[, format]]])
    参数说明:
    object:必选项。 object 应为 FileSystemObject 的名称。
    filename:必选项。 指明要打开文件的字符串表达式。
    iomode:可选项。 可以是三个常数之一: ForReading 、 ForWriting 或 ForAppending 。
    create:可选项。 Boolean 值,指明当指定的 filename 不存在时是否创建新文件。 如果创建新文件则值为 True ,如果不创建则为 False 。 如果忽略,则不创建新文件。
    format:可选项。 使用三态值中的一个来指明打开文件的格式。 如果忽略,那么文件将以 ASCII 格式打开。
    其中:
    iomode 参数可以是下列设置中的任一种:
    ForReading 1 以只读方式打开文件。 不能写这个文件。
    ForWriting 2 以写方式打开文件
    ForAppending 8 打开文件并从文件末尾开始写。
    我在此处直接写的8,意思就是在文件尾追加内容。
    format 参数可以是下列设置中的任一种:
    TristateTrue 以 Unicode 格式打开文件。
    TristateFalse 以 ASCII 格式打开文件。
    TristateUseDefault 使用系统默认值打开文件。
    编码格式需要格外注意,我在用Java代码读出这些保存下来的txt文件时,会因为编码格式而报错,如果你的请求中没有中文,保存的时候可以考虑用ASCII的格式,UTF-8兼容ASCII码

     

     

     

    4.抓包数据进行分割,并保存数据

    import pymysql.cursors,urllib.parse
    from datetime import datetime
    import random,string,requests,json,codecs
    #from chardet import detect
    import chardet,shutil
    def get_str_btw(s,f,b): #内容分割
     par = s.partition(f)
        return (par[2].partition(b))[0][:]
    
    def intest_X(): # 数据截取,并调用selectDate方法
     datX2 = []
        #file_address = 'E:\\Git_wbiao\\hello-Gao\\other\\Flask\\abc.txt' # 本调调试
     file_address = 'E:\\Git_wbiao\\s_Request.txt'
     for A2 in open(file_address,'r',encoding='UTF-8'):
     #for A2 in open("abc.txt", "r", encoding='UTF-8'):
     print(A2)
            datX2.append(A2)
            check_AAA = get_str_btw(A2,'&','=')
            Report_probe_log = get_str_btw(A2, 'probe_log', '/track')
            Report_event = get_str_btw(A2, 'event=', '&')
            Report_eventPage = get_str_btw(A2, 'eventPage=', '&')
            eventProps = get_str_btw(A2, 'eventProps=', '&')
            Report_station = get_str_btw(A2, 'station=', '&')
            Report_eventProps = urllib.parse.unquote(eventProps)
            if check_AAA == 'eventPage':
     if Report_event and Report_probe_log and Report_eventPage and Report_station and Report_eventProps:
     print('没有page',Report_event,Report_eventPage)
                    selectDate(event=Report_event, eventPage='', eventProps=Report_eventProps,
                               station=Report_station,probe_log=Report_probe_log)
            else:
     if Report_event and Report_probe_log and Report_station and Report_eventProps:
     print('page',Report_event, Report_eventPage)
                    selectDate(event=Report_event, eventPage=Report_eventPage, eventProps=Report_eventProps,
                               station=Report_station, probe_log=Report_probe_log)
    
    def selectDate(event,eventPage,station,eventProps,probe_log): # 查询数据是否存在,不存在调用IntData方法
     print('查询条件:',event,eventPage,'123')
        sql = "select event,eventPage from burying where event = '" + event + "' and eventPage = '" + eventPage + "';"
     coon = pymysql.connect(user='xx',
                               passwd='xx',
                               db='fast_last',
                               host='10.0.3.xx',
                               charset='utf8mb4')
        cursor = coon.cursor()
        S_eat = cursor.execute(sql)
        info = cursor.fetchall()
        coon.commit()
        cursor.close()
        coon.close()
        if info == ():
     print('插入埋点1:',event,eventPage)
            IntData(event=event, eventPage=eventPage, eventProps=eventProps, station=station, probe_log=probe_log)
        else:
     print('相同')
            pass
    
    def IntData(event,eventPage,station,eventProps,probe_log): # 数据写入
     #sql = "select * from Burying_aliyun ;"
     # sql_dele = "DELETE FROM test_member.hy_member WHERE member_code = 1514;"
     sql_insert= "INSERT INTO `fast_last`.`burying` (`id`, `probe_log`, `event`, `eventPage`,`eventProps`,`station`, `create_time`) " \
                    "VALUES (NULL,'" + probe_log + "','" + event+ "','" + eventPage + "','" + eventProps + "','" + station + "','" + str(datetime.now()) +"');"
     coon = pymysql.connect(user='xxx',
                               passwd='xxx',
                               db='fast_last',
                               host='10.0.3.xx',
                               charset='utf8mb4')
        cursor = coon.cursor()
        S_eat = cursor.execute(sql_insert)
        info = cursor.fetchmany(S_eat)
        coon.commit()
        cursor.close()
        coon.close()
        return info
    
    
    def encoding_utf8(): #处理源文件与处理文件编码不一致问题【复制源文件再转码】
     target_encoding = 'utf-8'
     file_address = 'E:\\Git_wbiao\\Request.txt'
     copy_file = 'E:\\Git_wbiao\\s_Request.txt'
     shutil.copy(file_address, copy_file)
        content_A = codecs.open(copy_file,'rb').read()
        sa_encoding = chardet.detect(content_A)['encoding']
        content_B = content_A.decode(sa_encoding,'ignore')
        codecs.open(copy_file,'w',encoding=target_encoding).write(content_B)
    
    
    if __name__ == '__main__':
     encoding_utf8()
      intest_X()
    展开全文
  • Fiddler服务器数据抓包

    万次阅读 2016-05-09 23:30:15
    在我们开发的时候,有时需要抓包,看一下服务器的返回数据,来校验自己请求的参数和返回的参数是否正确。当然,有时候也想抓一下别人的数据看下,比如微信。当然,如果别人的数据加密了,那你就蛋疼了,还要想着怎么...
  • file = fso.OpenTextFile("填写保存TXT文件地址",8 ,true, true); file.writeLine("Request url: " + oSession.url); file.writeLine("Request header:" + "\n" + oSession.oRequest.headers); file....
  • Fiddler自动保存抓到的json数据

    千次阅读 2020-08-17 11:43:34
    2. 替换调OnBeforeResponse(oSession: Session)这个函数(注意json数据保存在E://spide//img这个路径下,也可自己定义) static function OnBeforeResponse(oSession: Session) { if (m_Hide304s && ...
  • 为什么要保存请求? 做这件事最重要的目的之一就是,最近我需要实现一个简单的验证服务器接口正确性的这么一个测试工具(脚本),顺便把这(保存会话)记录下来分享给大家。 有时间我会把我初步的想法整理好分享出来...
  • 【踩坑】用fiddler mock数据

    千次阅读 2019-08-09 19:36:09
    某日公司继承测试平台上面的mock工具失效了,所以只能用fiddler手动mock数据,使得以来与那个数据的图片显示出来,我按照网上常规方法,流程,添加数据,在最后一步的时候,怎么样都加载不出来那张图片,好在有一...
  • 最近有一个简单的需求,...下面是实现的FiddlerScript脚本,供参考 筛选指定条件的请求,在发起前拦截 static function OnBeforeRequest(oSession: Session) { // 筛选指定条件的请求 if (oSession.Hostn...
  • Fiddler 保存会话 (请求)/自动导出

    千次阅读 2019-03-08 19:30:18
    (侵删) ... 这篇文章,很多人都有转载,但自己在用的时候始终报错,后在上面...另文中提到的 fiddler.js代码 为什么要保存请求? 做这件事最重要的目的之一就是,最近我需要实现一个简单的验证服务器接口正确性的...
  • 主要介绍了fiddler抓包小技巧之自动保存抓包数据的实现方法,较为详细的分析了fiddler自动保存抓包数据及根据需求过滤相关操作技巧,需要的朋友可以参考下
  • Fiddler数据过滤

    2020-11-24 15:53:04
    设置会话过滤的菜单如下图: 1.勾选Use Filters选项表示使用过滤设置,不勾选则不使用 2.Actions:有四个选项 Run Filterset now:...no host fiddler 不设置过滤主机ip条件 hide the……隐藏不过滤输入到下面
  • fiddler自动保存

    千次阅读 2018-09-12 15:45:37
    做这件事最重要的目的之一就是,最近我需要实现一个简单的验证服务器接口正确性的这么一个测试工具(脚本),顺便把这(保存会话)记录下来分享给大家。 有时间我会把我初步的想法整理好分享出来,大家一起来探讨它的...
  • Fiddler自动保存监听的请求 仅仅在Fiddler中设置一下就行。 2018/12/28 亲测可用 Fiddler 下 Rules------>Customize Rules----->修改request 和 response 中的代码。 //过滤无关请求,只关注特定请求 ...
  • 1、下载MuMu模拟器 2、配置模拟器wifi 在wlan中修改...3、配置fiddler 在tools中的options ==》【HTTPS】全选 【Connections】端口:8888 ==》重启 4、证书配置: 在模拟器浏览其中输入ip和端口,例如:192.16...
  • Fiddler- 数据Mock(转)

    2019-06-05 17:09:00
    一、为什么要抓包? 1.API分析(数据异常,流量,bug等等) 2.接口调试(研发,测试(正常&...数据流量) 2.Fiddler( ios&and ),设置代理,流量要导入(无法抓2g/3g) 3.Safari web( ios...
  • fiddler应用--保存下载的数据--以奇书网下载小说为例
  • 通过Fiddler Script 保存session

    千次阅读 2018-07-17 17:28:30
    打开fiddler 找到Fiddler Script 第二步: 找到OnBeforeResponse方法 再方法中添加如下代码 oSession.utilDecodeResponse();//消除保存的请求可能存在乱码的情况 var now = new Date(); var ts = now....
  • 辣么,将自己抓获的数据保存下来进行数据分析就是个问题了。一般情况下,这个软件就是操作软件的,设置自动保存的话,只能依靠软件自身来设置。但是呢,这个fiddler不得不让我们又一次见识到了它的强大。废话不多说...
  • fiddler
  • Fiddler缓存app数据

    2020-07-19 15:14:14
    Fiddler缓存app数据 (一)配置 首先需要一个安卓模拟器,这里使用夜神模拟器,设置Fiddler为代理IP: Fiddler配置也需要修改为app抓包: 在Tools下的Options中设置HTTPS和Connections (二) 分析 然后模拟...
  • Fiddler进行mock数据

    千次阅读 2020-12-25 22:56:32
    开发或者测试的时候,需要进行mock数据。...Fiddler提供了一些模板,但是我们需要设置好我们需要的返回值,所以这里我们选择“创建新的响应”后,点击保存。 在弹出的弹窗中设置响应后进行保存。(响应头、
  • FiddlerScript 环境搭建 官网下载: https://www.telerik.com/fiddler 安装步骤参照下面这篇文章(安装证书抓取https皆有详细步骤): https://www.cnblogs.com/liulinghua90/p/9109282.html 简单Fiddler Script ...
  • 利用Fiddler抓取APP数据

    千次阅读 2017-10-18 11:40:11
    利用Fiddler抓取APP数据   简杨君 关注 2016.11.03 18:51* 字数 368 阅读 762评论 0喜欢 2 软件:Fiddler 系统:Windows10 手机:MX4 PRO Fiddler安装和设置 通过地址...
  • fiddler导出jmx格式数据操作指引,fiddler导出jmx数据,jmeter导入脚本
  • Fiddler 4监听微信浏览器数据

    千次阅读 2018-04-25 11:41:10
    fiddler是一个抓包工具,可以监听浏览器等发起的请求,但是默认情况下是不支持微信浏览器的数据抓取的,所有即使登录PC版微信,使用微信浏览器访问是不会抓取数据的,但是可以通过设置来抓取微信浏览器的数据。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,421
精华内容 4,168
关键字:

fiddler保存数据