在Python脚本中使用mitmproxy连接到上游代理(使用用户和密码)

在Python脚本中使用mitmproxy连接到上游代理(使用用户和密码),python,mitmproxy,Python,Mitmproxy,我试图在公司代理后使用mitmproxy,该代理需要用户/密码登录 设置为: 本地PC的浏览器->mitmproxy(在本地PC上)->公司代理->互联网 基于,这就是如何在Python程序中使用mitmproxy。在没有代理的情况下,此示例可以正常工作 from mitmproxy.options import Options from mitmproxy.proxy.config import ProxyConfig from mitmproxy.proxy.server import Pr

我试图在公司代理后使用mitmproxy,该代理需要用户/密码登录

设置为: 本地PC的浏览器->mitmproxy(在本地PC上)->公司代理->互联网

基于,这就是如何在Python程序中使用mitmproxy。在没有代理的情况下,此示例可以正常工作

from mitmproxy.options import Options
from mitmproxy.proxy.config import ProxyConfig
from mitmproxy.proxy.server import ProxyServer
from mitmproxy.tools.dump import DumpMaster

class Addon(object):
    def __init__(self):
        pass

    def request(self, flow):
        # examine request here 
        pass

    def response(self, flow):
        # examine response here
        pass


if __name__ == "__main__":

    options = Options(listen_host='0.0.0.0', listen_port=8080, http2=True)
    m = DumpMaster(options, with_termlog=False, with_dumper=False)
    config = ProxyConfig(options)

    m.server = ProxyServer(config)
    m.addons.add(Addon())

    try:
        print('starting mitmproxy')
        m.run()
    except KeyboardInterrupt:
        m.shutdown()
假设公司代理位于IP“1.2.3.4”端口3128,并且需要 登录用户和密码,如何将此脚本更改为具有mitproxy 使用代理而不是直接上网

添加信息:我没有使用带有脚本参数的mitmdump来运行此脚本。
我们的目标是在Python 3.8中运行此程序,并安装一个pip mitmproxy

,对于代理,您应该能够使用附加选项对其进行配置:
mode='upstream:http://1.2.3.4:3128“
。对于身份验证
上游\u auth='USER:PASSWORD'
@Robert-我应该在哪里添加这些参数,在
选项
中?您有一个
选项
,已经设置了三个选项,只需将它们添加到最后?@Robert-将这些选项添加到选项会导致错误
键错误,未知选项:上游\u auth
然后在使用
选项添加插件后重试。更新(mode='上游:http://1.2.3.4:3128)
选项。更新(上游用户:密码)