我需要使用 python 的 mitmproxy。我已经安装成功了。但是,当我在终端上运行 mitmproxy 命令时,它会给我一个堆栈跟踪,如下所示:
文件“/usr/local/bin/mitmproxy”,第 9 行,在 load_entry_point('mitmproxy==0.13', 'console_scripts','mitmproxy'()文件
“/Library/Python/2.7/site-packages/pkg_resources/init .py”,第 558 行,在 load_entry_pointreturn get_distribution(dist).load_entry_point(group, name) 文件“/Library/Python/2.7/site-packages/pkg_resources/init .py”,第 2682 行,在load_entry_point返回 ep.load( ) 文件“/Library/Python/2.7/site-packages/pkg_resources/init .py ”,第 2355 行,加载返回 self.resolve()文件 “/Library/Python/2.7/site-packages/pkg_resources/init .py ",第 2361 行,在解析模块 =导入(self.module_name,fromlist=[' name '], level=0)
文件“/Library/Python/2.7/site-packages/libmproxy/main.py”,第 7 行,来自 . 导入版本,cmdline
文件“/Library/Python/2.7/site-packages/libmproxy/cmdline.py”,第 5 行,从 netlib 导入 http
文件“/Library/Python/2.7/site-packages/netlib/http.py ",第 7 行,从 . import odict, utils, tcp, http_status
File "/Library/Python/2.7/site-packages/netlib/tcp.py", line 26, in 'TLSv1.2': SSL.TLSv1_2_METHOD, AttributeError: 'module' object has no属性“TLSv1_2_METHOD”
我尝试通过一些谷歌搜索来调试这个问题,看起来我需要升级我的 pyOpenSSL。
要知道我的 PyOpen SSL 的当前版本,我在 Python 提示符下执行了以下操作,得到的输出如下所示为 0.13:
>>> import OpenSSL
>>> print OpenSSL.__version__
0.13
所以我尝试使用以下命令升级我的 pyOpenSSL:
sudo pip install --upgrade pyOpenSSL
ans 成功地这样做了,因为当我再次运行上述内容时,我在输出的第一行收到以下内容:
要求已经是最新的:/Library/Python/2.7/site-packages 中的 pyOpenSSL
只是为了交叉验证,我去了上面的路径,发现 PyOpenSSL 目录为 PyOpenSSL-0.15.1.dist-info。所以我猜测 PyOpenSSL 实际上已升级到最新版本。
但是,当我再次在 Python 提示符下运行以下命令时,我再次收到了 0.13 版本。理想情况下,我期待它现在提供更新版本。
>>> import OpenSSL
>>> print OpenSSL.__version__
0.13
一些博客建议如果我安装了 virtualevn,它可能会干扰上述内容。所以我也卸载了virtualenv
sudo pip 卸载 virtualenv
我仍然无法让 mitmproxy 运行。当我运行 mitmproxy 时,我仍然得到与上面相同的错误。
请让我知道我缺少什么以及如何让 mitmproxy 运行。