mitmproxy的安装与使用

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/安装证书

你可能感兴趣的:(Python)