我尝试使用Python3的mitmdump和openpyxl包将请求和响应存储到excel中。
执行命令" mitmdump -s body_respXL.py"我得到了以下错误。
加载脚本:body_respXL.py插件错误:回溯(最新版本 最后打电话):文件 " /usr/local/Cellar/mitmproxy/3.0.3/libexec/lib/python3.6/site-packages/mitmproxy/addonmanager.py" ;, 第67行,在safecall yield File" /usr/local/Cellar/mitmproxy/3.0.3/libexec/lib/python3.6/site-packages/mitmproxy/addons/script.py" ;,第77行,勾选 ns = load_script(self.fullpath)File" /usr/local/Cellar/mitmproxy/3.0.3/libexec/lib/python3.6/site-packages/mitmproxy/addons/script.py" ;, line 30,在load_script中 loader.exec_module(m)文件"",第678行,在exec_module文件中 "",219行,in _call_with_frames_removed文件" body_respXL.py",第1行,在 import openpyxl ModuleNotFoundError:没有名为' openpyxl'
的模块忽略的选项:{' web_static_viewer':'',' view_order_reversed': 错误,' console_focus_follow':错误,' web_open_browser':是的,       ' web_port':8081}代理服务器监听http:// *:8080
但是当我做" pip3冻结"我看到包已安装。
下面是python代码 -
import openpyxl
def response(flow):
if "insert" in flow.request.pretty_url:
wb = openpyxl.load_workbook("Workbook1.xlsx")
ws = wb.worksheets[0]
if flow.request.content:
ws.cell(row = ws.max_row + 1, column = 1, value=flow.request.content)
if flow.response.content:
ws.cell(row = ws.max_row, column = 2, value=flow.response.content)
wb.save("Workbook1.xlsx")
请帮帮我,谢谢。
答案 0 :(得分:0)
解决方案。
mitm将在安装时创建它自己的Python环境,在mitm环境中安装软件包后解决了问题。
对于我来说,源文件是在以下位置创建的: /usr/local/Cellar/mitmproxy/3.0.3/libexec/bin/activate