C # анализирует элементы объекта HTTP POST response из строки

#c# #http

#c# #http

Вопрос:

У меня есть набор файлов, каждый из которых содержит полный текст серии ответов HTTP POST. Некоторые из них содержат двоичные объекты (например, изображения или PDF-файлы). Я пытался использовать регулярные выражения для извлечения двоичных объектов, но, похоже, у меня не получается это правильно. Похоже, что для класса HttpListener (и связанных с ним классов) требуется активное соединение, то есть для анализа пары запросов-ответов в реальном времени, которой у меня нет. Существует ли хорошая библиотека, которая может анализировать файл (или строку) в качестве HTTP-ответа? Если нет, может ли кто-нибудь придумать лучший метод для этого, чем регулярное выражение?

Спасибо, Rik

Комментарии:

1. Когда вы говорите «полный текст» — если это двоичные ответы, они не будут быть текстом, кроме заголовков. Вы имеете в виду, что это полные ответы, нетронутые?

2. Да, файлы — это то, что вы получили бы, когда вы отправляете HTTP POST response в file, поэтому в случае изображений заголовки являются текстовыми, а двоичный объект представляет собой массивную загрузку bobbledegook’а.

Ответ №1:

Вы можете легко написать свой собственный анализатор, который выполняет следующее:

  1. Читает файл ответа построчно
  2. До длины содержимого строки, которая определяет количество байтов в полезной нагрузке
  3. Считывает полезную нагрузку как двоичную
  4. Класс Image имеет перегрузку, которая создает изображение из потока. Таким образом, вы можете проверить, соответствуют ли ваши результирующие изображения исходному изображению.

С уважением