multipart - 生成多部分边界

标签 multipart

我正在编写一个脚本,用于将文件上传到需要多部分请求的 cgi 脚本,例如 HTML 页面上的表单。 boundary 是一个唯一的标记,用于注释请求正文中的文件内容。这是一个示例正文:

--BOUNDARY
Content-Disposition: form-data; name="paramname"; filename="foo.txt"
Content-Type: text/plain

... file contents here ...
--BOUNDARY--

出于显而易见的原因,边界不能出现在文件内容中。

我应该怎么做才能创建独特的边界?我是否应该生成一个随机字符串,检查它是否在文件内容中,如果是,则生成一个新的,冲洗并重复,直到我有一个唯一的字符串?或者“相当随机的 token ”(例如,时间戳、进程 ID 等的组合)就足够了吗?

最佳答案

如果您使用足够随机的东西(例如 GUID),则不需要搜索有效负载来检查边界的别名。像这样的东西:-

----=NextPart_3676416B-9AD6-440C-B3C8-FC66DDC7DB45
标题:....

有效负载
-==NextPart_3676416B-9AD6-440C-B3C8-FC66DDC7DB45--

关于multipart - 生成多部分边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2071257/

相关文章:

java - FileUpload (Apache Commons) 和 Java POI IOException : Unable to read entire header

java - Tomcat : Required request part 'file' is not present

java - 上传多部分文件时出现 FileNotFoundException - Spring boot

java - Spring Boot 多部分文件始终为空

java - Quarkus - 413 请求实体太大

spring-mvc - 在Spring MVC上使用Servlet 3.0的MultipartConfig

email - 带有不可点击链接的 HTML 和文本电子邮件

java - Spring Boot + Security - 启用 CSRF 时无法上传文件(多部分)

.net - REST 客户端 HTTP 多部分支持

exception - Grails - 停止/取消上传时出现异常