MIMEを作成するときは、メッセージのさまざまなチャンクを特定の境界で分離します。何らかの理由でこの境界を説明するドキュメントを見つけることができませんでしたが、ここに例から収集したものがあります。
境界には、文字と数字の任意の文字列を使用できます。 e。 「d29a0c638b540b23e9a29a3a9aebc900aeeb6a82」。
境界を生成するための規則はありません。愛する人の名前をmd5sumするだけで、境界線を取得できます。
HTTP経由でMIMEを送信する場合は、ヘッダー「Content-Type」を追加する必要があります。ヘッダーの内容は、次のようになります。
multipart/form-data; border = d29a0c638b540b23e9a29a3a9aebc900aeeb6a82
メッセージの本文では、次のように境界の前に「-」を付ける必要があります。
--d29a0c638b540b23e9a29a3a9aebc900aeeb6a82
しかし、これらのルール(および this 役立つ回答)に従って、POSTサーバーが受け入れるクエリを生成できませんでした。何か不足していますか?何か問題がありましたか?
境界の構文 は次のとおりです。
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である3つのボディパートを持つマルチパートボディは、次のようになります。
--boundary
1. body-part
--boundary
2. body-part
--boundary
3. body-part
--boundary--