王球球啊 2022-02-24 12:07
浏览 125
已结题

使用python和mitmproxy对request header进行修改,但是却不生效

一、问题遇到的现象和发生背景

手头上遇到一个项目(使用python语言),需要对于发起的请求进行拦截并进行添加自定义请求头的操作,经过初步的调研发现mitmproxy能够满足我的需求,于是自己写了一个简单的demo进行尝试修改请求头和响应头,但是只有响应头修改成功了,请求头却没有修改成功

使用的mitmproxy版本:7.0.4

二、问题相关代码,请勿粘贴截图

mitm_proxy.py

from mitmproxy import http


class ModifyHeader:

    def request(self, flow: http.HTTPFlow):
        flow.request.headers['test-request-header'] = 'test-request-header-value'

    def response(self, flow: http.HTTPFlow):
        flow.response.headers['test-response-header'] = 'test-response-header-value'


addons = [
    ModifyHeader()
]

开启代理局部代码

options.add_argument('--ignore-certificate-errors')
options.add_argument('--proxy-server=0.0.0.0:8080')
三、运行结果及报错内容

request header中没有添加成功

img


response header中添加成功

img

四、我的解答思路和尝试过的方法

参考对应example进行实现的

img

五、我想要达到的结果

在request header中能够添加自定义的请求头

  • 写回答

1条回答 默认 最新

  • 王球球啊 2022-02-28 15:45
    关注

    问题已解决,实际上已经修改成功了,只不过chrome中展示的请求头信息在mitmproxy修改之前,所以不显示添加的自定义请求头

    具体问题细节看:https://github.com/mitmproxy/mitmproxy/discussions/5155

    评论

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 修改了问题 2月25日
  • 修改了问题 2月24日
  • 修改了问题 2月24日
  • 展开全部