如何在mitmproxy中传输响应

如何在mitmproxy中传输响应,mitmproxy,Mitmproxy,由于我使用的是蹩脚的互联网连接,所以我必须使用下载管理器下载大型软件包,然后将它们流式传输到Chocolate(而且它仍然缺乏恢复功能)。为了完成MITM工作,我使用了一个简单的脚本 剧本 从mitmproxy导入http dlFileLoc=“C:\\Users\\Pouya\\Downloads\\flatter\u windows\u 2.0.4-stable.zip” def响应头(流:http.HTTPFlow): flow.response.stream=True def请求(流:h

由于我使用的是蹩脚的互联网连接,所以我必须使用下载管理器下载大型软件包,然后将它们流式传输到Chocolate(而且它仍然缺乏恢复功能)。为了完成MITM工作,我使用了一个简单的脚本

剧本
从mitmproxy导入http
dlFileLoc=“C:\\Users\\Pouya\\Downloads\\flatter\u windows\u 2.0.4-stable.zip”
def响应头(流:http.HTTPFlow):
flow.response.stream=True
def请求(流:http.HTTPFlow):
如果flow.request.pretty_host.find(“storage.googleapis.com”)>=0:
#flow.intercept()
打开(dlFileLoc,mode=“rb”)作为fb:
flow.response=http.HTTPResponse.make(content=fb.read())
#flow.resume()
正在将脚本加载到mitmdump
mitmdump.exe-sd:\code\cli\rend\main.py
设置巧克力的代理
choco升级颤振-y——代理http://127.0.0.1:8080
mitmproxy崩溃了

127.0.0.1:50395:回溯(最近一次呼叫最后一次):
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\server.py”,第121行,位于句柄中
根_层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\modes\http\u proxy.py”,第9行,在\uu调用中__
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\tls.py”,第285行,在调用中__
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http1.py”,第100行,在调用中__
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http.py”,第204行,在调用中__
如果不是自处理流程(流程):
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http.py”,第277行,在进程流中
返回自我。处理\u常规\u连接(f)
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http.py”,第222行,在handle\u regular\u connect中
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\tls.py”,第285行,在调用中__
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http1.py”,第100行,在调用中__
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http.py”,第204行,在调用中__
如果不是自处理流程(流程):
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http.py”,第457行,在进程流中
self.send\u response\u body(f.response,chunk)
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http1.py”,第71行,在发送响应正文中
对于http1.assemble_body(response.headers、chunk、response.trailes)中的chunk:
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\net\http\http1\assemble.py”,第44行,汇编\u正文
对于body_块中的块:
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\net\http\http1\read.py”,第137行,在read\u正文中
content=rfile.read(块大小)
AttributeError:“非类型”对象没有属性“读取”
回溯(最近一次呼叫最后一次):
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\server.py”,第121行,位于句柄中
根_层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\modes\http\u proxy.py”,第9行,在\uu调用中__
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\tls.py”,第285行,在调用中__
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http1.py”,第100行,在调用中__
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http.py”,第204行,在调用中__
如果不是自处理流程(流程):
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http.py”,第277行,在进程流中
返回自我。处理\u常规\u连接(f)
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http.py”,第222行,在handle\u regular\u connect中
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\tls.py”,第285行,在调用中__
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http1.py”,第100行,在调用中__
层()
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http.py”,第204行,在调用中__
如果不是自处理流程(流程):
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http.py”,第457行,在进程流中
self.send\u response\u body(f.response,chunk)
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\proxy\protocol\http1.py”,第71行,在发送响应正文中
对于http1.assemble_body(response.headers、chunk、response.trailes)中的chunk:
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\net\http\http1\assemble.py”,第44行,汇编\u正文
对于body_块中的块:
文件“C:\Users\Pouya\AppData\Roaming\Python39\site packages\mitmproxy\net\http\http1\read.py”,第137行,在read\u正文中
content=rfile.read(块大小)
AttributeError:“非类型”对象没有属性“读取”
环境
>mitmdump.exe--版本
Mitmproxy:6.0.2
Python:3.9.4
OpenSSL:OpenSSL 1.1.1i 2020年12月8日
平台:Windows-10-10.0.19041-SP0

虽然我以前的脚本应该可以工作,但不知何故它没有工作,我最终通过如下更改脚本使其工作:

从mitmproxy导入http
dlFileLoc=“C:\\Users\\Pouya\\Downloads\\flatter\u windows\u 2.0.4-stable.zip”
def请求(f