Как проанализировать тело HTTP, отправленное с помощью метода HTTP POST «multipart/form-data»?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как проанализировать тело HTTP, отправленное с помощью метода HTTP POST «multipart/form-data»?

Сообщение Anonymous »

Я пишу крошечный HTTP-сервер на C#.
Я получаю как HTTP-заголовки, так и данные, отправляемые с помощью POST-запроса.
Но как извлечь данные файла из данных, считанных из сокета?
Ниже приведены полученные HTTP-заголовок и тело.
Я копирую [БИНАРНЫЕ ДАННЫЕ ] и сохраните его в файл и сохраните как jpg.
Я сравниваю его с опубликованным исходным jpg-файлом, но первые 10 байтов не совпадают, остальное содержимое файла совпадает.
Пожалуйста, дайте мне знать решение как можно скорее.
HTTP-заголовок получен:

Код: Выделить всё

POST /data HTTP/1.1
Host: 127.0.0.1:5000
Connection: keep-alive
Content-Length: 2488
sec-ch-ua: \"Chromium\";v=\"124\", \"Google Chrome\";v=\"124\", \"Not-A.Brand\";v=\"99\""
Accept: */*
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary9ghtzVmAy3qCTBzD
X-Requested-With: XMLHttpRequest
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
sec-ch-ua-platform: "Windows"
Origin: http://127.0.0.1:5000
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://127.0.0.1:5000/
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: en-US,en;q=0.9
Получено тело HTTP:

Код: Выделить всё

------WebKitFormBoundary9ghtzVmAy3qCTBzD
Content-Disposition: form-data; name="proj_type"

Httpserver
------WebKitFormBoundary9ghtzVmAy3qCTBzD
Content-Disposition: form-data; name="proj_lang"

C Program
------WebKitFormBoundary9ghtzVmAy3qCTBzD
Content-Disposition: form-data; name="file1"; filename="01.jpg"
Content-Type: image/jpeg

[Binary Data]
------WebKitFormBoundary9ghtzVmAy3qCTBzD
Content-Disposition: form-data; name="file1_size"

1191
------WebKitFormBoundary9ghtzVmAy3qCTBzD
Content-Disposition: form-data; name="file2"; filename="index.sj"
Content-Type: application/octet-stream

[Text Data]
------WebKitFormBoundary9ghtzVmAy3qCTBzD
Content-Disposition: form-data; name="file2_size"

452
------WebKitFormBoundary9ghtzVmAy3qCTBzD
Content-Disposition: form-data; name="no_of_files"

2
------WebKitFormBoundary9ghtzVmAy3qCTBzD--
Я хочу проанализировать тело HTTP-запроса на публикацию, используя multipart/form-data, извлечь данные файла и сохранить любой опубликованный мной файл.
Но данные файла изображения не совпадают с данными исходного файла.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ata-method
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как загрузить файл на сервер с помощью HTTP POST multipart/form-data?
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как загрузить файл на сервер с помощью HTTP POST multipart/form-data?
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как загрузить файл на сервер с помощью HTTP POST multipart/form-data?
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Python – HTTP-запрос POST multipart/form-data
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • JQUERY/AJAX FORM PRESTICSION (ENCTYPE = "Multipart/Form-Data"). Почему «ContentType: false» вызывает неопределенный инде
    Anonymous » » в форуме Php
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»