我想問一個關於multipart/form數據的問題。我找到了multipart post的http頭和Content-Type:multipart/form-data;邊界= -----...--- boundaryNumber。我想問一下boundaryNumber和'='之間有多少' - '?多部分/表單數據中的' - '是什麼?
回答
沒有一個-
是強制性的。你可以有任何數量的他們。實際上,爲什麼用戶代理傾向於添加這麼多,這實際上是個謎。這可能是傳統的,因爲在過去,當人們仍然經常查看實際的協議流量時,它提供了一些很好的視覺分離。如今它毫無意義。
但請注意,當您在使用流中的邊界時,它必須以兩個連字符(--
)作爲前綴。這是協議的一部分。當然,大多數用戶代理在其邊界使用大量連字符這一事實很難通過示例來看到。
此外,最後邊界(這標誌着消息的結束)的前綴和由兩個連字符(--
)後綴。
因此,在總結,你可以打電話給你的邊界OMGWTFPLZDIEKTHX
,然後你的流量可能是這樣的:
Content-Type: multipart/form-data; boundary=OMGWTFPLZDIEKTHX
--OMGWTFPLZDIEKTHX
Content-Type: text/plain
First part (plain text).
--OMGWTFPLZDIEKTHX
Content-Type: text/html
<html>Second part (HTML).</html>
--OMGWTFPLZDIEKTHX--
破折號的數量取決於你想要的數量。它可以是零,如果你喜歡 - 只是更多破折號使邊界更加明顯。
邊界由包含兩個破折號的行加上「boundary =」之後的所有內容組成。所以,如果你的頭說:boundary=ABC
,邊界看起來像
--ABC
感謝您的回覆。 – Questions 2010-08-18 01:29:00
在你的邊界定義,不需要連字符。當使用該邊界分隔兩個不同的身體部位時,您必須以兩個連字符開頭,後跟您先前定義的邊界字符串。
這在RFC 1341 (MIME)中有解釋,您可以在Multipart部分找到更多信息(鏈接)。
感謝您的回覆。 – Questions 2010-08-18 01:30:18
- 1. 使用curl POST多部分/表單數據的正確方法是什麼?
- 2. 空字節和多部分/表單數據的後果是什麼?
- 3. Superagent:PUT-ing多部分表單數據
- 4. Tomcat 7多部分表單數據
- 5. PHP - 解析多部分表單數據
- 6. Node.js - 生成多部分/表單數據
- 7. 如何POST多部分/表單數據?
- 8. Python - 多部分表單發佈數據
- 9. Alamofire - 多部分表單數據鍵值:
- 10. Scrapy多部分表單數據請求
- 11. 多部分/形式數據的邊界是什麼?
- 12. 無法使用多部分/表單數據從表單中獲取數據
- 13. 多部分請求中的「部分」是什麼?
- 14. 在PHP中讀取多部分/表單數據POST數據
- 15. 快速解析req.body中的多部分/表單數據發佈
- 16. ASP.NET MVC中,表單標記的'action'部分是什麼意思?
- 17. 多部分/表單數據表單提交
- 18. 什麼編碼用於多部分/表單數據,是否有可能使用JQuery編碼數據?
- 19. 在Qt5中上傳多部分表單數據中的文件
- 20. 訪問Wicket內部的多部分表單數據Ajax行爲
- 21. 多部分電子郵件中的數字是什麼意思?
- 22. HTTP多部分(POST)請求中的邊界參數是什麼?
- 23. MVC表單多部分/表單數據無法正確呈現
- 24. 表名之前的部分是什麼?
- 25. 用於iOS中多部分表單數據請求的庫
- 26. Go - 什麼是多部分。文件?
- 27. 從Android SensorManager中部分丟失數據的原因是什麼?
- 28. PHP cURL提交POST數據,多部分/表單數據混亂
- 29. 什麼是分層數據
- 30. 沒有字段名的多部分/表單數據表格
感謝您的回覆。 – Questions 2010-08-18 01:31:43
+1用於區分spec中的兩個邊界( - )與通常添加到邊界的多餘(---)... – LesterDove 2010-08-18 01:37:46
當最後一行後面有內容時會發生什麼'--OMGWTFPLZDIEKTHX- - '? – Pacerier 2012-01-11 01:47:28