1,原理,和Fiddler一样,先自己搭一个服务器,开启端口
windows或手机开启代理,流量通过mitmproxy,截获数据
2,安装
cmd输入:pip install mitmproxy
打开http://mitm.it/安装证书
3,使用
windows在小娜处输入:网络代理设置
地址框输入:http=127.0.0.1:8889;https=127.0.0.1:8889
端口框不输入
cmd输入:mitmdump -s mit.py -p 8889 --ssl-insecure
mit.py代码如下:
import json
def response(flow):
if 'wechat.zhifeishengwu.com/wx/HandlerSubscribe.ashx?act=User' in flow.request.url:
with open("1.txt","a",encoding='UTF-8') as f:
print(flow.request.headers)
print(flow.request.headers['Cookie'])
print(json.loads(flow.response.text))
f.write("\n")
这里使用python自带写文件功能,当然你也可以使用管道
mitmdump -s mit.py -p 8889 --ssl-insecure | python extract.py
教程自己去看:《Python爬虫开发:从入门到实战(微课版)》谢乾坤
4,错误解决:
Certificate verification error for watson.telemetry.microsoft.com: unable to get local issuer certificate (errno: 20, depth: 1)
--ssl-insecure 解决
Cannot establish TLS with client (sni: wechat.zhifeishengwu.com): TlsException("(-1, 'Unexpected EOF')",)
打开http://mitm.it/安装证书