fiddler 保存请求数据并发送到自己的服务器接口

打开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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值