【问题标题】:How to send the Content-Length with the request in Apache JMeter?如何在 Apache JMeter 中随请求发送 Content-Length?
【发布时间】:2019-10-06 18:32:40
【问题描述】:

如何在 Apache JMeterHttp 请求中发送 Http Content-Length 标头?

我正在使用 Apache JMeter 向配置的端点发送 get 请求,如下图所示。

在那里,我使用参数选项卡来设置请求参数,但是,JMeter 不会将 content-length 标头发送到服务器。

我通过在服务器中打印请求来检查这一点。以下是服务器收到的请求。

GET /io?Message=Nelika HTTP/1.1
Connection: close
Host: localhost:4333
User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_212)

如何配置 JMeter 以发送内容长度?

【问题讨论】:

    标签: java http jmeter content-length http-content-length


    【解决方案1】:

    JMeter 不会在 GET Request 上发送 Content-Length,因为它可能不是预期的:

    如果 Content-Length 等于 0,则某些服务器会失败

    对于其他方法,将 HTTP Header Manager 添加为 HTTP 请求的子项

    添加行,名称为:Content-Type,值为:application/x-www-form-urlencoded

    请注意,您没有在 GET 请求中发送任何实体主体,因此它将发送 0 值

    编辑

    解决方法是使用 Content-Length 值添加到 HTTP Header Manager 行(它将被覆盖)

    【讨论】:

    • 我在 Http Header Manager 中添加了 Content_Type。然后服务器接收内容类型如下。 GET /io?Message=Nelika HTTP/1.1 Connection: close Content-Type: application/x-www-form-urlencoded Host: localhost:4333 User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_212 但是什么我要的是获取内容长度(获取参数的长度)
    • @PasinduTennage 尝试使用与发送Content-Length 更相关的请求正文发送 POST 请求
    • 通过发布请求(即使没有请求正文),我得到内容长度。似乎 JMeter 不会为 GET 请求发送 Content-Length。
    • @PasinduTennage 是的,你是对的,这是因为在 GET 请求中(引用)如果 Content-Length 等于 0,则某些服务器会失败 github.com/apache/jmeter/blob/…
    猜你喜欢
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多