ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用Fiddler复制并转发http响应数据

2022-06-25 16:02:46  阅读:216  来源: 互联网

标签:__ Fiddler http Flask app xhr json 转发


1.安装Fiddler

2.编辑FiddlerScript,增加拦截判断

Goto OnBeforeResponse,跳转到指定函数,在函数中添加拦截某些http代码,如下。

        if (oSession.fullUrl.Contains("/api/review-opinion/list")) {
            // FiddlerApplication.Log.LogString(oSession.GetResponseBodyAsString())
            var _xhr = new ActiveXObject('Microsoft.XMLHTTP');
            var url =  'http://localhost:5000/save';
            _xhr.onreadystatechange = function() {}
            _xhr.open('POST', url, true);
            _xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
            _xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
            _xhr.send( oSession.GetResponseBodyAsString());
        }

拦截后,通过http请求,将响应数据转发给另外一个服务,专门负责数据保存。

3.编写数据接受服务

使用Flask搭建服务,新建server.py文件:

from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'hello world 1'


@app.route('/save', methods=['POST'])
def register():
    print(request.headers)
    rep = str(request.stream.read(), encoding="utf-8")
    print(rep)
    import uuid
    id = str(uuid.uuid4())
    file = open('data/review-' + id + '.json', 'w', encoding='utf-8')
    file.write(rep)
    file.close()
    return 'welcome'


if __name__ == '__main__':
    app.run(port=5000, debug=True)

启动服务:
python server.py

4.捕获请求

Fiddler中按F12或者点击File-Capture Traffic,刷新浏览器,触发请求。查看数据保存目录,已经存入多个json文件。

5.解析数据

使用python读取每个json文件,使用jsonpath库解析,后面使用pandas将数据整理、过滤、统计。

标签:__,Fiddler,http,Flask,app,xhr,json,转发
来源: https://www.cnblogs.com/flowerbirds/p/16411779.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有