首页 文章

JMeter Multipart JSON请求表单数据

提问于
浏览
1

我正在尝试通过使用多部分数据主体的JMeter构建HTTP请求 .

我有一个HTTP头管理器,它将COntent-Type设置为multipart / form-data;边界= AaB03x . 我选择了“使用多部分/表格数据进行POST” .

然后我创建了一个数据体,

`-----------------------------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`

当我运行它时,我看到请求没有正确发送正文,而只是发送一些随机数据,

发布数据:

--vKOghkU7riRQbaANmmGpMs7j9TxCTUp3S2T0vE--

并给出错误响应,

`{"errorMsg":"Unable read headers from MultipartStream.","messageCode":"UnableReadHeadersFromMultipartStream","httpStat     us":"BAD_REQUEST","requestName":"RequestName"}`

我的第二个问题是:请求的第3部分发送要上传的文件 . 我可以以某种方式传递文件路径吗?

2 回答

  • 0
    • 鉴于您设置自己的边界并手动构建您的请求,我相信您需要在HTTP Request Sampleruncheck Use multipart/form-data for POST

    • 如果您的文件编码不是"exotic",您可以尝试使用__FileToString()函数而不是 File Content here!!!! .


    查看RFC 7578,似乎您还需要在最后一行末尾追踪 --

  • 0

    您应该尝试将JSON数据作为参数发送 . 同时将您的文件路径放在该部分中...甚至一些服务器实际上并不需要显式声明的MIME类型,您可以使用某些在线工具(如this one)查看您的文件路径 .

    您的HTTP请求可能看起来像以下几样:

    enter image description here

相关问题