知识笔记 - mitmproxy安装报错 | ERROR: Failed building wheel for urwid

文章旨在学习和记录,若有侵权,请联系删除

文章目录

  • 一、报错
  • 解决
  • 闲谈


一、报错

    File "C:\Anaconda\lib\site-packages\setuptools\msvc.py", line 202, in _msvc14_find_vc2017
      path = subprocess.check_output([
  AttributeError: 'str' object has no attribute 'decode'
  ----------------------------------------
  ERROR: Failed building wheel for urwid
  Running setup.py clean for urwid
Failed to build urwid
Installing collected packages: urwid, ruamel.yaml, pyperclip, pydivert, publicsuffix2, protobuf, passlib, ldap3, kaitaistruct, h2, Brotli, blinker, asgiref, mitmproxy
    Running setup.py install for urwid ... error

上图只截取了一部分报错信息。

一开始看报错以为是urwid的版本冲突了,去卸载了urwid,然后重新安装了一下最新的urwid版本,发现还是报了同样的错误。

解决

仔细看了下报错信息,发现报错中有一段
AttributeError: 'str' object has no attribute 'decode'
大致意思是字符串对象没有decode属性,然后我去找到对应的msvc.py文件的202行:
知识笔记 - mitmproxy安装报错 | ERROR: Failed building wheel for urwid_第1张图片
然后把 .decode(encoding="mbcs",errors="strict") 去掉
知识笔记 - mitmproxy安装报错 | ERROR: Failed building wheel for urwid_第2张图片
再次 pip install mitmproxy,然后就安装成功了。


闲谈

mitmproxy是个非常强大的抓包工具,有时能抓到一些charles抓不到的包,并且不仅仅有着抓包的功能,还有着许多的玩法;

例如mitmproxy配合Auto.js可以快速实现对大部分app进行抓取及处理入库
优点:不需要逆向app,并且能够有效避开大部分风控,可使用python脚本
缺点:因为是自动化,所以速度稍微比较慢

这种方式契合需要小批量数据、任务开发时间紧的场景。


你可能感兴趣的:(python,开发语言)