JMeter Multipart JSON 请求表单数据
JMeter Multipart JSON Request Form Data
我正在尝试通过 JMeter 构建一个使用多部分数据的 HTTP 请求 body。
我有一个 HTTP Header 管理器 COntent-Type 设置为 multipart/form-data;边界=AaB03x。我选择了 'Use multipart/form-data for POST'.
然后我创建了一个数据 body,
`-----------------------------AaB03x
Content-Type: application/json
Content-Disposition: form-data; name="part1"
{"jsonKey1": "JsonValue1" }
-----------------------------AaB03x
Content-Type: application/json
Content-Disposition: form-data; name="part2"
{
"jsonKey2": "JsonValue2"
}
-----------------------------AaB03x
Content-Type: application/octet-stream
Content-Disposition: form-data; name="part3"
File Content here!!!!
-----------------------------AaB03x`
当我 运行 这样做时,我发现请求没有正确发送 body,而是发送了一些随机数据,
POST数据:
--vKOghkU7riRQbaANmmGpMs7j9TxCTUp3S2T0vE--
并给出错误响应,
`{"errorMsg":"Unable read headers from MultipartStream.","messageCode":"UnableReadHeadersFromMultipartStream","httpStat us":"BAD_REQUEST","requestName":"RequestName"}`
我的第二个问题是:
请求的第 3 部分发送要上传的文件。我可以通过某种方式传递文件路径吗?
- 鉴于您设置了自己的边界并手动构建请求,我相信您需要在 HTTP Request Sampler
中 取消选中 Use multipart/form-data for POST
- 如果您的文件编码不是很“奇特”,您可以尝试使用 __FileToString() 函数代替
File Content here!!!!
。
查看 RFC 7578,您似乎还需要在最后一行的末尾添加尾随 --
您应该尝试将 JSON 数据作为参数发送。还要将您的文件路径放在该部分...甚至某些服务器实际上不需要显式声明 MIME 类型,您可以使用 this one.
等在线工具检查您的文件路径
您的 HTTP 请求可能看起来像:
我正在尝试通过 JMeter 构建一个使用多部分数据的 HTTP 请求 body。
我有一个 HTTP Header 管理器 COntent-Type 设置为 multipart/form-data;边界=AaB03x。我选择了 'Use multipart/form-data for POST'.
然后我创建了一个数据 body,
`-----------------------------AaB03x
Content-Type: application/json
Content-Disposition: form-data; name="part1"
{"jsonKey1": "JsonValue1" }
-----------------------------AaB03x
Content-Type: application/json
Content-Disposition: form-data; name="part2"
{
"jsonKey2": "JsonValue2"
}
-----------------------------AaB03x
Content-Type: application/octet-stream
Content-Disposition: form-data; name="part3"
File Content here!!!!
-----------------------------AaB03x`
当我 运行 这样做时,我发现请求没有正确发送 body,而是发送了一些随机数据,
POST数据:
--vKOghkU7riRQbaANmmGpMs7j9TxCTUp3S2T0vE--
并给出错误响应,
`{"errorMsg":"Unable read headers from MultipartStream.","messageCode":"UnableReadHeadersFromMultipartStream","httpStat us":"BAD_REQUEST","requestName":"RequestName"}`
我的第二个问题是: 请求的第 3 部分发送要上传的文件。我可以通过某种方式传递文件路径吗?
- 鉴于您设置了自己的边界并手动构建请求,我相信您需要在 HTTP Request Sampler 中 取消选中
- 如果您的文件编码不是很“奇特”,您可以尝试使用 __FileToString() 函数代替
File Content here!!!!
。
Use multipart/form-data for POST
查看 RFC 7578,您似乎还需要在最后一行的末尾添加尾随 --
您应该尝试将 JSON 数据作为参数发送。还要将您的文件路径放在该部分...甚至某些服务器实际上不需要显式声明 MIME 类型,您可以使用 this one.
等在线工具检查您的文件路径您的 HTTP 请求可能看起来像: