2025年4月18日 星期五 乙巳(蛇)年 正月十九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 软件应用 > 网络应用

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

时间:01-26来源:作者:点击数:20

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拦截相应请求发送数据到服务器,服务器进行解析即可。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门