我正在编写一个脚本,用于将文件上传到需要多部分请求的 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/