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!

One Solution collect form web for “Python Twisted proxy – как перехватывать пакеты”

Переопределите метод 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() 
  • gevent.http.HTTPServer API предлагает потоковое вещание, но вместо этого выполняет буферизацию целых запросов и ответов
  • http-запросы: от urllib2 до запросов python 2.7
  • Ошибка HTTP 403 в Python 3 Веб-скребок
  • Выполнение запроса HTTP POST
  • Как читать выбранные файлы из удаленного Zip-архива через HTTP с помощью Python?
  • Strange JQuery Error "код 501, сообщение Unsupported method OPTIONS"
  • Отправьте сообщение «304 Not Modified» для изображений, хранящихся в хранилище данных
  • Как указать запросы на python http put body?
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.