什么规则适用于MIME边界?
当你写MIME时,你将消息的不同块分隔开来。 我因为某种原因找不到解释这个边界的任何文件,但是这里是我从例子中收集到的:
-
边界可以是任何字母和数字的string,即“d29a0c638b540b23e9a29a3a9aebc900aeeb6a82”。
-
没有规则来产生边界,你可以简单地说出你心爱的人的名字,在这里,你已经有了你的边界。
-
如果您通过HTTP发送MIME,则必须添加指定您的标题“Content-Type”,并且标题的边界内容可能如下所示:
多部分/格式的数据; 边界= d29a0c638b540b23e9a29a3a9aebc900aeeb6a82
-
在消息的正文中,边界应以“ – ”开头,如:
–d29a0c638b540b23e9a29a3a9aebc900aeeb6a82
但遵循这些规则(和这个有用的答案),我没有生成服务器将接受的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 "--"
前面的--
对于消息中使用的每个边界是强制性的,后面的--
对于结束边界( closures分隔符 )是强制性的。 因此,以三个以boundary
为边界的身体部位的多部分身体可以是这样的:
--boundary 1. body-part --boundary 2. body-part --boundary 3. body-part --boundary--