这是格式正确的 multipart/form-data 请求吗?
Is this a well formed multipart/form-data request?
边界标记可以出现在先前字段数据的末尾吗?请注意,为简洁起见,我删除了 XML 数据的大部分内容。有问题的边界标记是紧跟在 XML 结束标记之后的标记 - 那里有边界标记是否有效,还是应该单独放在下一行?
Connection: Keep-Alive
Content-Length: 5466
Content-Type: multipart/form-data; boundary=----------9042941111365854226
------------9042941111365854226
Content-Disposition: form-data; name="xml"
<?xml version="1.0" encoding="ISO-8859-1"?><srvhandle>...</srvhandle>------------9042941111365854226
Content-Disposition: form-data; name="objname"
auditevent
------------9042941111365854226--
不,据我所知这是无效的。
body 部分之间的边界必须以 CRLF
对开头。在这种情况下,您缺少 encapsulation
中的 CRLF
。 (见下文)。您 也 缺少标记外部 headers.
结尾的额外 CRLF
(即空行)
MIME 语法
(Multipart/form-data遵循MIME数据规则)
根据 RFC 2046,multi-part 消息 body 的结构摘录。(BNF 语法,稍微简化。)
multipart-body := [preamble CRLF]
dash-boundary CRLF
body-part *encapsulation
close-delimiter
[CRLF epilogue]
dash-boundary := "--" boundary
body-part := MIME-part-headers [CRLF *OCTET]
encapsulation := delimiter
CRLF body-part
delimiter := CRLF dash-boundary
close-delimiter := delimiter "--"
参考资料
否,无效。 MIME 边界总是以 CRLF
开头。您在前两个边界前缺少 CRLF
,但在最后一个边界上没有。它需要看起来像这样:
Connection: Keep-Alive
Content-Length: 5466
Content-Type: multipart/form-data; boundary=----------9042941111365854226
------------9042941111365854226
Content-Disposition: form-data; name="xml"
<?xml version="1.0" encoding="ISO-8859-1"?><srvhandle>...</srvhandle>
------------9042941111365854226
Content-Disposition: form-data; name="objname"
auditevent
------------9042941111365854226--
边界标记可以出现在先前字段数据的末尾吗?请注意,为简洁起见,我删除了 XML 数据的大部分内容。有问题的边界标记是紧跟在 XML 结束标记之后的标记 - 那里有边界标记是否有效,还是应该单独放在下一行?
Connection: Keep-Alive
Content-Length: 5466
Content-Type: multipart/form-data; boundary=----------9042941111365854226
------------9042941111365854226
Content-Disposition: form-data; name="xml"
<?xml version="1.0" encoding="ISO-8859-1"?><srvhandle>...</srvhandle>------------9042941111365854226
Content-Disposition: form-data; name="objname"
auditevent
------------9042941111365854226--
不,据我所知这是无效的。
body 部分之间的边界必须以 CRLF
对开头。在这种情况下,您缺少 encapsulation
中的 CRLF
。 (见下文)。您 也 缺少标记外部 headers.
CRLF
(即空行)
MIME 语法
(Multipart/form-data遵循MIME数据规则)
根据 RFC 2046,multi-part 消息 body 的结构摘录。(BNF 语法,稍微简化。)
multipart-body := [preamble CRLF] dash-boundary CRLF body-part *encapsulation close-delimiter [CRLF epilogue] dash-boundary := "--" boundary body-part := MIME-part-headers [CRLF *OCTET] encapsulation := delimiter CRLF body-part delimiter := CRLF dash-boundary close-delimiter := delimiter "--"
参考资料
否,无效。 MIME 边界总是以 CRLF
开头。您在前两个边界前缺少 CRLF
,但在最后一个边界上没有。它需要看起来像这样:
Connection: Keep-Alive
Content-Length: 5466
Content-Type: multipart/form-data; boundary=----------9042941111365854226
------------9042941111365854226
Content-Disposition: form-data; name="xml"
<?xml version="1.0" encoding="ISO-8859-1"?><srvhandle>...</srvhandle>
------------9042941111365854226
Content-Disposition: form-data; name="objname"
auditevent
------------9042941111365854226--