让Jmeter在Content-Type标题中生成边界破折号(例如boundary = - V0a4bfux ...)

时间:2017-12-19 21:52:42

标签: jmeter multipartform-data multipart form-data boundary

我的HTTP请求正在生成

Content-Type: multipart/form-data; boundary=V0a4bfuxfGhaH_Voo_Gu6oAEtj5FJNcp; charset=UTF-8

但是,与POST数据相比,前面缺少2个破折号,导致服务器拒绝请求:

--V0a4bfuxfGhaH_Voo_Gu6oAEtj5FJNcp
Content-Disposition: form-data; data="dataToBeSent"
--V0a4bfuxfGhaH_Voo_Gu6oAEtj5FJNcp--

如何让Jmeter在标题中生成破折号? (除了手动创建多部分表单)

注意:

  • 我正在使用'使用multipart / formdata for POST'选项。
  • 如果我拦截请求并在标题中手动添加破折号,则 服务器接受请求。

2 个答案:

答案 0 :(得分:1)

您不需要生成这些值,解决方法是在HTTP Request采样器(或HTTP请求默认值)中勾选Use multipart/form-data for POST

如果您在Content-Type中有HTTP Header Manager标题的任何定义 - 您需要将其删除,并让JMeter自行生成相应的Content-Type标头。

答案 1 :(得分:1)

标题不需要破折号。这就是multipart / form-data的工作原理。主体构造如下:

--<boundary>
<headers>

<content>
--<boundary>
<headers>

<content>
--<boundary>--

-部分表示新的部分开始。正文以----结尾,表示将不会跟随新的零件。