我正在尝试使用BI工具自动化从数据库系统中提取数据的过程,然后通过HTTP POST将其上传到网站。
我正在使用的BI工具允许我将Request up构建为文本对象,然后将其发送到Web资源。
为了实现这一点,我使用Fiddler捕获Chrome在手动填写表单时发送的Web请求。
该请求包含以下内容......
------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="upload"; filename="data.csv"
Content-Type: application/vnd.ms-excel
CSV HEADER DATA
CSV ROW DATA
------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="returnErrorCsv"
------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="returnUrl"
------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="entityPropertiesToReturn"
------WebKitFormBoundarycwwJjby5xTdrlr48
然后我得到BI工具来模仿上面的请求并替换从数据库中提取的数据(CSV HEADER DATA和CSV ROW DATA数据将去的地方 - 这个数据是保密的,所以我不得不将其删除)。
这一切都正常,但我的问题是WebKitFormBoundary之后的字符串是什么意思? I.E cwwJjby5xTdrlr48
它只是一个随机字符串来标识来自另一个的一个请求?还是有另一个目的?
目前我正在我的所有请求中重新使用cwwJjby5xTdrlr48,它似乎工作正常,但我认为可能值得问我是否应该构建自己的字符串。
这只是如何定义哑剧结构的不同部分之间所谓的“边界”的典型方式。接收方可以通过此分开不同的部分。例如,在不同的事物中使用相同的逻辑,例如电子邮件消息。
“随机”字符串确实是随机的,所有使用相同字符串的边界标记都是“分组”的,因此在同一级别上工作。 Mime部分结构可以以分层方式堆叠。在这种情况下,在不同的级别中使用不同的随机字符串来区分它们。例如,这是如何引用电子邮件作为新电子邮件的附件。如果引用的电子邮件包含多个mime部分,则它们的边界必须与新电子邮件的边界不同,否则级别之间会出现混淆。
实际上,它不是那个边界的“随机部分”。整个字符串匹配。出于透明度原因,每个软件仅为此类边界使用唯一的前缀字符串。但一般来说,唯一的要求是所选字符串在所有包含的数据中必须是唯一的。除了必须使用完全相同的字符串的相应边界外,显然是唯一的。