У меня есть дамп ядра GDB, который содержит заголовок и тело сообщения запроса MIME mutlipart/form-data. Мне нужно как-то точно воссоздать сообщение и отправить его на свой сервер, чтобы я мог отлаживать, почему мой код рушится.Учитывая текстовое представление сообщения MIME, как я могу воссоздать сообщение?
Сообщение с довольно стандартной формы данных. Все типы содержимого являются текстовыми/обычными, за исключением одного изображения/jpeg.
Проблема в том, что двоичная часть тела имеет границы уже, поэтому я не могу просто извлечь двоичную часть и автоматически генерировать заголовок через встроенный MIME-код Python.
Опять же, мне нужно воссоздать начальное сообщение точно, как оно было. Каков самый простой способ сделать это?
Что вы имеете в виду «бинарная часть тела имеет границы уже»? 'email.parser.Parser(). parsestr (text)' будет правильно анализировать многопользовательские сообщения MIME с многостраничными границами. Можете ли вы создать простой пример и загрузить его где-нибудь? Или покажите код, который вы использовали, который не работал, и трассировку (или объяснение, где это произошло, если это не было исключением)? – abarnert
Кроме того, что вы подразумеваете под «начальным сообщением точно, как это было»? По-видимому, первоначально это была куча отдельных файлов, а затем какая-то вещь в каком-то внутреннем формате, используемом веб-браузером (или библиотекой электронной почты Python, или некоторой библиотекой PHP, или как-то еще), а затем это было RFM2822 текст MIME корпус. Последнее - именно то, что у вас уже есть; предыдущие не имеют смысла. – abarnert
Позвольте мне задать другой вопрос: как именно данные, которые вы имеете, отличаются от данных, которые вы хотите? –