98

我们如何更改 RESTful Web 服务的 http 请求的请求标头中的内容类型?我们究竟从哪里改变它?

4

2 回答 2

151

添加HTTP 标头管理器并在此处添加所需的标头:

带有 Content-Type 标头的标头管理器

于 2012-10-23T14:32:20.413 回答
16

TL;DR要添加内容类型标头,您必须将HTTP 标头管理器关联到HTTP 请求


您必须将其添加为:

GET、DELETE、PUT 和 PATCH 需要 Content-Type。

在不覆盖您的请求的情况下,您的请求将默认发送为:

Connection: keep-alive
Content-Length: [length of body]
Content-Type: text/plain
Host: [your host]
User-Agent: Apache-HttpClient/4.5.7 (Java/1.8.0_191)

与使用邮递员(优于 JMeter)不同,您可以在同一组件中选择内容类型,在 JMeter 中,您必须具有HTTP Header Manager,可以将其添加为

  1. HTTP 请求的子组件 - 只影响一个请求
  2. 相同或高于 HTTP 请求的层次结构 - 可能/将影响范围内的其他 HTTP 请求

请注意,您可以有多个标题管理器:

JMeter 现在支持多个 Header Manager。合并标题条目以形成采样器的列表。如果要合并的条目与现有标题名称匹配,则它将替换先前的条目。这允许您设置一组默认标题,并将调整应用于特定的采样器。请注意,标头的空值不会删除现有标头,它只是替换其值。

请注意,您不能在以下位置使用它multipart/form-data

当使用 multipart/form-data 时,这会抑制 Content-Type 和 Content-Transfer-Encoding 标头;仅发送 Content-Disposition 标头。

它不会在重定向的 url 中发送:

标头是针对初始请求发送的,不会针对重定向发送。这通常只是手动创建的测试计划的问题,因为使用记录器创建的测试计划将从重定向的 URL 继续。

于 2019-10-15T05:07:30.837 回答