Я использую mitmproxy, прокси-сервер python man-in-the-middle (MITM) для HTTP, для изменения на ходу HTTP-запроса определенного веб-сайта.Python serialize HTTPFlow object (MITM)
Цель:
Для целей тестирования, когда он получает запрос HTTP, он должен сохранить его (он получает HTTPFlow объект) и в следующий раз, то же самое будет сделан запрос я должен обижаться точное то же данные/html/header/ресурсы/ecc .. в браузер.
Проблема:
Очевидное решение для сериализации объекта, но не сериализуемый!
я не могу просто держать его в памяти, потому что мне нужно перезапустить прокси во время испытаний
Что я могу сделать, чтобы достичь своей цели?
Детали:
Я уже пробовал рассол, cPickle и маршалом со следующими ошибками:
a class that defines __slots__ without defining __getstate__ cannot be pickled
can't pickle CDataGCP objects
- ValueError: unmarshallable object
Идеи:
- 1) насколько это плохая идея изменить исходный объект , чтобы сделать его сериализуемым? и как я могу это сделать?
- 2) что если основной процесс связывается со вторым всегда-живым процессом python, который просто сохраняет объект в памяти? им все еще нужно связывать obj, сериализуя их?