Подтвердить что ты не робот

Какие правила применяются к границе MIME?

Когда вы пишете MIME, вы выделяете разные куски вашего сообщения с определенной границей. Мне почему-то не удалось найти документацию, объясняющую эту границу, но вот что я собрал из примеров:

  • Границей может быть любая строка букв и цифр, т.е. е. "D29a0c638b540b23e9a29a3a9aebc900aeeb6a82".

  • Нет правил для создания границы, вы можете просто md5sum имя вашего любимого, и вот вы идете, у вас есть ваша граница.

  • Если вы отправляете MIME через HTTP, вы должны добавить заголовок "Content-Type", указывающий, что вы это сделаете, а ваша граница, содержимое заголовка может выглядеть так:

    многочастному/форм-данных; граница = d29a0c638b540b23e9a29a3a9aebc900aeeb6a82

  • В теле вашего сообщения границе должна предшествовать "-", например:

    - d29a0c638b540b23e9a29a3a9aebc900aeeb6a82

Но после этих правил (и этот полезный ответ) мне не удалось сгенерировать POST-запрос, который будет принимать сервер. Я что-то упускаю? У меня что-то не так?

4b9b3361

Ответ 1

Синтаксис границы:

 boundary := 0*69<bchars> bcharsnospace
 bchars := bcharsnospace / " "
 bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" /
                  "+" / "_" / "," / "-" / "." /
                  "/" / ":" / "=" / "?"

И тело многочастного объекта имеет синтаксис (только важные части):

 multipart-body := [preamble CRLF]
                   dash-boundary transport-padding CRLF
                   body-part *encapsulation
                   close-delimiter transport-padding
                   [CRLF epilogue]
 dash-boundary := "--" boundary
 encapsulation := delimiter transport-padding
                  CRLF body-part
 delimiter := CRLF dash-boundary
 close-delimiter := delimiter "--"

Предшествующий -- является обязательным для каждой границы, используемой в сообщении, а конечный -- является обязательным для границы закрытия (close-delimiter). Таким образом, многочастное тело с тремя частями тела с boundary как граница может выглядеть так:

--boundary
1. body-part
--boundary
2. body-part
--boundary
3. body-part
--boundary--