Python Twisted proxy – как перехватывать пакеты

Я пытаюсь распечатать тело ответа HTTP с помощью Python.

Вот мой код sofar:

from twisted.web import proxy, http from twisted.internet import reactor from twisted.python import log import sys log.startLogging(sys.stdout) class ProxyFactory(http.HTTPFactory): protocol=proxy.Proxy reactor.listenTCP(8080, ProxyFactory()) reactor.run() 

Когда я подключаю свой браузер к localhost: 8080, я вижу, что все мои запросы направляются через прокси-сервер Python, работающий локально. Но как мне 1) распечатать тело ответа и 2) отредактировать тело ответа перед отправкой его обратно в браузер?

Надеюсь, кто-то может указать мне в правильном направлении – пожалуйста, имейте в виду, что я очень новичок в Python!

Переопределите метод dataReceived протокола (proxy.Proxy в вашем случае) и обработайте модификацию данных в этом методе:

 from twisted.web import proxy, http from twisted.internet import reactor from twisted.python import log import sys log.startLogging(sys.stdout) class MyProxy(proxy.Proxy): def dataReceived(self, data): # Modify the data here print data # perform the default functionality on modified data return proxy.Proxy.dataReceived(self, data) class ProxyFactory(http.HTTPFactory): protocol=MyProxy factory = ProxyFactory() reactor.listenTCP(8080, factory) reactor.run()