【发布时间】:2012-10-13 12:30:48
【问题描述】:
我们如何更改 RESTful Web 服务的 http 请求的请求标头中的内容类型?我们究竟从哪里改变它?
【问题讨论】:
-
我认为这是一个好问题!我正在使用 django,并且可以看到我在标题部分设置的值出现在我的请求中的 GET 映射下。但是,我期望它在 META 下。不知道如何到达那里..
我们如何更改 RESTful Web 服务的 http 请求的请求标头中的内容类型?我们究竟从哪里改变它?
【问题讨论】:
添加HTTP Header Manager 并在此处添加所需的标题:
【讨论】:
TL;DR要添加内容类型标头,您必须将HTTP Header Manager 关联到HTTP Request
你必须添加它:
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)
与使用 postman(优于 JMeter)不同,您可以在同一组件中选择内容类型, 在 JMeter 中你必须有 HTTP Header Manager 可以添加为
请注意,您可以有多个标头管理器:
JMeter 现在支持多个标头管理器。合并标题条目以形成采样器的列表。如果要合并的条目与现有标题名称匹配,则它将替换先前的条目。这允许您设置一组默认标题,并将调整应用于特定的采样器。请注意,标头的空值不会删除现有标头,它只是替换其值。
注意你不能在multipart/form-data中使用它:
当使用 multipart/form-data 时,这会抑制 Content-Type 和 Content-Transfer-Encoding 标头;仅发送 Content-Disposition 标头。
它不会在重定向的 url 中发送:
标头是针对初始请求发送的,不会针对重定向发送。这通常只是手动创建的测试计划的问题,因为使用记录器创建的测试计划将从重定向的 URL 继续。
【讨论】: