首页 > 解决方案 > Apache Jmeter HTTP 标头管理器覆盖“主机”标头而不附加端口

问题描述

我正在尝试加载测试需要特定“主机”标头进行路由的服务。(并且此服务也在端口 9211 上运行)。在 Jmeter 配置中,我添加了一个“Http 标头管理器”并为所述标头添加了覆盖。但是该请求似乎在主机标头中附加了端口,如下所示。我相信这可能是 jmeter 中的一个错误(或一些奇怪的功能)。无论如何,有没有办法解决这个问题?

我希望“主机”标头为“我的主机”,并且仅在不附加端口的情况下。

jmeter 配置

jmeter 配置

海德管理器设置

海德管理器设置

实际请求标头

实际请求标头

谢谢

标签: jmeterhttp-headersperformance-testingload-testing

解决方案


我不认为这是您可以配置的,它是在HTTPHC4Impl.setConnectionHeaders() 函数下完成的,正在为“非默认”端口添加端口(HTTP 为 80,HTTPS 为 443)

实际上它与规范并不矛盾,所以我建议忽略它。

但是,如果您有特定的用例并且需要在不指定端口的情况下发送Host标头 - 您需要将 HTTP 请求采样器的“客户端实现”切换为Java,该设置位于 HTTP 请求采样器的“高级”选项卡下(或者如果您希望将设置应用于所有 HTTP 请求采样器,则最好使用HTTP 请求默认值)

在此处输入图像描述


推荐阅读