当前位置: 首页 > 知识库问答 >
问题:

JMeter多部分JSON请求表单数据

刁跃
2023-03-14

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

我有一个HTTP头管理器,其内容类型设置为多部分/表单数据;边界=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个答案

方野
2023-03-14

您应该尝试将JSON数据作为参数发送。同时,请将您的文件路径放在。。。即使有些服务器实际上并不需要显式声明MIME类型,您也可以使用类似这样的在线工具检查您的MIME类型。

您的HTTP请求可能看起来像:

黄伟
2023-03-14
  1. 鉴于您设置了自己的边界并手动构建了您的请求,我相信您需要取消选中在HTTP请求采样器中为POST使用multipart/form-data
  2. 如果您的文件编码不是很奇特,您可以尝试使用__FileToString()函数而不是File Content在这里!!!!

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

 类似资料:
  • 问题内容: 我正在编写一个RESTful API。我在使用不同的动词上载图像时遇到麻烦。 考虑: 我有一个对象,可以通过对URL的发布/放置/删除/获取请求来创建/修改/删除/查看。如果有要上载的文件,则请求是多部分形式;如果只有文本要处理,则请求是application / xml。 为了处理与对象相关的图像上传,我正在做类似的事情: 这里的主要问题是在尝试处理放置请求时,显然$ _POST不包

  • 问题内容: 我正在尝试通过带有POST请求的照片上传 根据自述文件,我应该能够做到这一点 问题是,这不起作用。我收到测试服务器的回复,说它转储了0个post变量。 我已经确认该HTML小页面服务器处于工作状态 所以问题是,请求模块在做什么?有没有更好的方法来发送节点? 问题答案: 经过更多研究后,我决定使用。这使得分段上传非常容易。

  • 我是Java(Spring Boot)新手,我正在尝试向s3发送一个

  • 我在Lumen(应用程序A)中创建了一个简单的API,它: 接收PSR-7请求接口 替换对应用程序B的请求的URI 并通过古斯发送请求。 上面的代码将数据传递给应用程序B以获取查询参数、x-www-form-urlencoded或JSON内容类型。但是,它无法传递多部分/form-data。(该文件在应用程序A中可用:

  • 客户(ReactJS/Axios): Multer中间件: 下一个(): 异步(req,res)= 此处req.file未定义! } 当我尝试使用Axios传递图像时,req.file在控制器中显示为未定义。 我认为错误是在传递多部分/表单数据时,因为当我通过Insonmia Rest执行此操作时,它会工作!

  • 以下API使用postman工作: Spring boot,后端代码: ReactJS,前端代码:我在中有对象数组。 触发功能的按钮: 我需要将我的前端(ReactJS)代码更改为,就像我使用postman发布请求一样。当前JS代码导致以下错误响应: Servlet。路径为[]的上下文中的servlet[dispatcherServlet]的service()引发了异常[请求处理失败;嵌套异常为o